Ciao a tutti, ho questo pezzo di codice:
codice:
Esame* read_keyb()
{
Esame* result = malloc(sizeof(Esame));
printf("Nome: ");
fflush(stdin);
fgets(result->nome, 22, stdin);
printf("Voto: ");
scanf("%f", &result->voto);
printf("Crediti: ");
scanf("%d", &result->crediti);
return result;
}
Che serve a leggere i dati di un esame dalla tastiera... Quando gira l'output è questo:
Dopodichè aspetta l'inserimento del voto.
E' come se fosse rimasto un newline nello stdin e questo mi fa terminare subito la fgets(), ma com'è possibile, dato che appena prima ho chiamato fflush()!?