Occhio che fflush(stdin) non è standard, e infatti con gcc non funziona proprio. Il modo "portabile" per fare quel mestiere è scartare tutti i caratteri che si incontrano fino ad un newline o alla fine dello stream.
codice:
for(char c=0; c!=EOF && c!='\n'; c=getchar())
    ;