Ho letto molto in giro su internet sui comportamenti di gets ed i problem di un buffer che trattenga qualche carattele, specialmente \n.
Pur conoscendo che fflush non è da considerarsi una buona soluzione e che ce ne sarebbero di migliori, per lo meno dovrebbe almeno funzionare no?
eppure non sembra sortire effetto. il frammento di codice è il seguente:
printf("Nome: ");
gets(u.nome);
printf("Cognome: ");
gets(u.cognome);
printf("Mail: ");
scanf("%s", u.mail);
printf("Numero: ");
scanf("%d", &u.num);
Il nome me lo salta e passa subito al cognome (sicuramente il buffer trattiene l' \n di una operazione precedente: una scanf che preleva un decimale)
Il fflush ho provato a metterlo ma non va per niente. come debbo fare?