Se leggi l'input in una stringa come ho fatto io lo stdin è già svuotato quindi il fflush non serve. Però è vero che puoi usarlo nell'altro caso ovvero nel programma originale, se vedi che c'è un errore svuoti stdin e ritrovi. Però ti perdi la possibilità di smanettare sul buffer di input nel caso tu voglia farlo.