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?