Informatică, întrebare adresată de catalinmorar, 8 ani în urmă

Ce am gresit?
#include
#include
int main(void)
{
char *p,i;
p=(char*)malloc(50*sizeof(char));
gets(p);
for(i=0;i<50;i++)
if(p[i]==' '){
{
p=&p[i];
printf("%s",p);}
}
}


Asta se cere: Scrieţi un program C care să citească un şir şi apoi să caute în şir primul spaţiu. Dacă găseşte un spaţiu să afişeze restul şirului (Se va folosi alocarea dinamică pentru citirea șirului).

Răspunsuri la întrebare

Răspuns de Seckar
1
Nu vad sa fii gresit ceva mai sefule, serios, cand rulez codul tau mie imi merge.

Ti-am facut cateva modificari ca sa arate putin mai frumos: 

1. i nu e nevoie sa fie nici char nici sa fie declarat la inceput(depinde de standardul C pe care il folosesti e posibil sa trebuiasca sa il declari inainte de for totusi)

2. la &p[i] am pus i+1 ca sa nu iti is si spatiul ala gasit, ci DOAR ce e dupa el.

3. Am facut ca atunic cand gaseste spatiu sa se termine imadiat programul cu return.
Anexe:

Seckar: Bine ca merge Bo$$ :)))
catalinmorar: Da,mersi pentru ajutor,esti buna ca mentor:))
Seckar: Arat a fata?!?!! :)))))
Seckar: Iti garantez ca sunt baiat 100%, tocmai am verificat si am echipamentul in chiloti :)))
catalinmorar: :))
catalinmorar: Din poza asa ,mi se parea
catalinmorar: Oricum scuze
catalinmorar: corectez
Seckar: E ok :))
catalinmorar: *esti bun ca mentor*
Alte întrebări interesante