Perché ogni volta con l' istruzione s[i]='\0' sovrascrivi il carattere letto e ci scrivi un carattere nullo.Il terminatore va aggiunto solo alla fine della stringa.Originariamente inviato da livrea
1- con la funzione LeggiElemento non riesco a inserire cognome e nome da tastieracodice:void LeggiStringa(char s[], unsigned int dim){ unsigned int i=0; for(i=0; i<dim-1 && (s[i]=getchar())!='\n';i++) s[i]='\0'; if(i==dim-1) while(getchar()!='\n'); }
Modifica la funzione così:
E tieni presente che c'è anche fgets.codice:void LeggiStringa(char s[], unsigned int dim) { unsigned int i=0; for(i=0; i<dim-1 && (s[i]=getchar())!='\n';i++) ; s[i]=0; if(i==dim-1) while(getchar()!='\n'); }

Rispondi quotando