Ciao a tutti!
ho un problema con la scanf, faccio un piccolo esempio per mostrarlo:
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;
}
Questo programma stampa una serie di # per circa 5 secondi, poi chiede un numero in input e poi lo stampa.
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?