El compañero Iñaki tiene razon, ffush(stdin) no esta definido en el estandar ANSI c (tengo el estandar en la mano), el que esta definido es fflush(stdout). Algunos compiladores si entienden la orden ffush(stdin), como el de borland o el mingw y otros no.