No uses fflush ( stdin ). Esta función sólo está pensada para flujos de salida. Usada en flujos de entrada su comportamiento no está definido, puede pasar cualquier cosa.
No uses gets, es una función obsoleta por su inseguridad y está marcada a desaparecer.
No uses gets, es una función obsoleta por su inseguridad y está marcada a desaparecer.