Ce gresesc?Nu imi numara spatiile si prima litera din sir mi-o sterge.
#include
#include
int main (void)
{
char *p;
int i=0;
p=(char*)malloc(50*sizeof(char));
gets(p);
for(*p=0;*p<50;*p++){
switch(*p){
case ' ':i++;break;}
}
printf("Numarul spatiilor:%d",i);
printf("\n%s",p);
}
Seckar:
Ce anume vrea sa faca programul?
Răspunsuri la întrebare
Răspuns de
1
Bun, pai tu iti aloci acolo treaba bine, ceea ce pot sa respect, sincer aia e cea mai grea parte cu malloc :))
Citesti corect cu gets.
Dar apoi in for ce faci tu acolo...? Pai in p ai citit ce la user, de ce scrii peste el? De aia nu merge, tu practic citesti de la user o variabila si apoi ii atribui o alta valoare saracuta. pentru for trebuie sa folosesti un contor separat.
Apreciez totusi ca ai incercat asa ca o sa iti dau cam cum se face.
Ignora ca eu am folosit gets_s, la gets_s pur si simplu ii dau ca parametru si sirul de caractere, si cate caractere sa imi citeasca in el. Practic acel _s vine de la secure, deoarece in gets normal putea sa iti dea de la tastatura mai multe caractere decat iti alocasei tu cu malloc, si atunci... not pretty.
Citesti corect cu gets.
Dar apoi in for ce faci tu acolo...? Pai in p ai citit ce la user, de ce scrii peste el? De aia nu merge, tu practic citesti de la user o variabila si apoi ii atribui o alta valoare saracuta. pentru for trebuie sa folosesti un contor separat.
Apreciez totusi ca ai incercat asa ca o sa iti dau cam cum se face.
Ignora ca eu am folosit gets_s, la gets_s pur si simplu ii dau ca parametru si sirul de caractere, si cate caractere sa imi citeasca in el. Practic acel _s vine de la secure, deoarece in gets normal putea sa iti dea de la tastatura mai multe caractere decat iti alocasei tu cu malloc, si atunci... not pretty.
Anexe:
#include<stdlib.h>
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);}
}
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Geografie,
9 ani în urmă
Franceza,
9 ani în urmă