Ya se había comentado infinidad de veces que no es bueno utilizar fflush(stdin), ya que no es para flujos de entrada, no funciona en linux, y su comportamiento no es muy bueno.
Lee el siguiente post:
http://foro.elhacker.net/programacion_cc/problema_con_el_compilador_gcc_de_ubuntu-t248582.0.html
Recomendaciones :
while(getchar() != '\n');
setbuf(stdin, NULL);
En vez de fflush.
Saludos.