Originariamente inviato da maninblack
ciao a tutti..non riesco a leggere un carattere da tastiera pur facendo tutto giusto..praticamente l'esecuzione non si ferma quando ce' da inserire il dato.Ho provato anke con getchar ma non si ferma.Solo se metto %s si ferma l'esecuzione e legge l'input..com'e' possibile?
io faccio questo:

char lett;
while(flag==1);
{-
-
-
printf("inserisci lettera\n");
scanf("%c", &lett);
-
-
}
Oh sii ch è possibile... VVoVe: queste funzioni di IO del c non sono programmate benissimo a mio avviso e danno di questi problemi.Spesso sono dovuti a dei caratteri spuri presenti nello stream di input standard,sinceramente non ho una soluzione definitiva al tuo problema,io in genere quando me lo da mi "arrangio" cercando di modificare il prog a seconda della situazione.Comunque in genere questi cicli controllati solo dalla funzione di lettura li evito come la peste.Un problema simile lo da anche la fread su un file se metti come condizione di terminazione l'incontro del carattere EOF,in teoria dovrebeb funzionare ma di fatto a me non ha mai funzionato.In genere quel problema lo risolvo con una cosa del tipo while(fread(..bla bla bla..) > 0) dato che fread ritorna -1 a fine file o in caso di problemi.Prova a seguire questa "pista" anche nel tuo caso