Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
La scanf, non toglie dal buffer il carattere invio.
Per rimediare, il comando fflush(stdin) non è sempre attendibile. Meglio utilizzare il getchar() a tale scopo, in questo modo:
Codice sorgente - presumibilmente C/C++
for(i=0;i<5;i++)
{
printf("scrivi coordinata alfanumerica: ");
scanf("%c%c", &c, &n);
while (getchar()!='\n') ; // svuoto il buffer da tastiera
printf("%c%c \n", c, n);
}
Per quale motivo fflush(stdin) non è sempre attendibile? Grazie - torre92 - 27/02/12 18:42
Molto importante è sottolineare che il seguente codice:
Codice sorgente - presumibilmente Plain Text
while( getchar() != '\n' );
Svuota tutto il buffer fino al carattere invio (\n) Dal momento che, in C, molte sono le operazioni di input in cui lasciano il carattere NEW LINE a passeggio
quello è esattamente quello che cerchi xD