A raíz de este post me he puesto a pensar en todo esto.
Ya que C viene del UNIX y en UNIX todo son archivos y por tanto stdin es un archivo ¿qué tal si llevamos el puntero de stdin hasta el final y nos saltamos todo lo que hay dentro?
Al menos en MinGW64 funciona. Faltarían más pruebas con otras bibliotecas y S.O. para corroborar.
Incluso acepta una única pulsación de intro.
			Ya que C viene del UNIX y en UNIX todo son archivos y por tanto stdin es un archivo ¿qué tal si llevamos el puntero de stdin hasta el final y nos saltamos todo lo que hay dentro?
Al menos en MinGW64 funciona. Faltarían más pruebas con otras bibliotecas y S.O. para corroborar.
Código (c) [Seleccionar] 
#include <stdio.h>
int main() {
    char c;
    while(1) {
        printf("> ");
        c = getchar();
        fseek(stdin, 0, SEEK_END);
        printf("Caracter: %c\n", c);
    }
}Incluso acepta una única pulsación de intro.