Reemplazo de fflush (stdin)

Tengo el siguiente código,

fflush(stdin);
print("Enter y/n");
scanf("%c",&a);

Aquí, se cierra antes de dar la entrada. Parece que el problema se debe a que no está vaciando el búfer de entrada que podría tener algunos caracteres basura. ¿Hay alguna alternativa para la descarga (stdin)? Este fragmento de código está funcionando en Solaris pero no funciona en Linux.

Respuestas a la pregunta(3)

Su respuesta a la pregunta