Molto spesso quando richiedo all'utente di inserire un carattere vedo chew in realtà nello stdin era già presente qualcosa e il comando non funzia bene...
In Windows uso fflush(stdin) ma in Linux non va e cmq non credo sia del tutto corretto...
Es.:
Mi stampa la frase due volte, poi comincia a funzionare bene, come se la prima volta avesse già nello stdin un carattere e quindi riesegue già una volta il ciclo...codice:do { printf("Continuo? (y, n)"); scanf("%c", &scelta); } while(scelta != 'y' && scelta != 'n');
In Windows risolvo con fflush(stdin); messo prima del printf...
![]()