Originariamente inviato da Who am I
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.
Modifica la funzione così:

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');
}
E tieni presente che c'è anche fgets.
non funziona ugualmente mi visualizza
cognome e subito nome, senza avere la possibilità di inserire il cognome.

qualcuno che mi aiuta con la funzione Inserisci?