Ciao a tutti!
ho un problema con la scanf, faccio un piccolo esempio per mostrarlo:
Questo programma stampa una serie di # per circa 5 secondi, poi chiede un numero in input e poi lo stampa.codice:#include <unistd.h> #include <stdlib.h> #include <stdio.h> int main() { int i, n; for (i=0; i<20; i++) { printf("#\n"); usleep(200000); } printf("inserisci n="); scanf("%d", &n); printf("n=%d\n", n); return 0; }
Il problema è che, per esempio, se durante la stampa dei # io premo '4', quando mi chiederà il numero aggiungerà anche il 4 nella scanf, conseguentemente se inserisco 3 e faccio invio il numero che stamperà non sarà 3 ma 4.
Mi servirebbe qualcosa che cancelli qualsiasi carattere immesso prima di una scanf, come si può fare?