Originariamente inviato da Lardoman 2.0
Prima di un getch () va pulito il buffer,senò al 90 % non va

basta fare

codice:
fflush (stdin) ;
Credo che non sia esatto, è molto più efficace la kbhit()

Provare :
codice:
#include <windows.h>
#include <stdio.h>
#include <conio.h>

int main()
{
	printf("Prova svuotamento buffer di input (per la 'getch()' ).\n\n\n");
	
	printf("Provo con la 'fflush(stdin)'\n");
	printf("premi un tasto ... (Entro 5 secondi) \n\n");
	Sleep(5000);
	fflush(stdin);
	printf("Eseguo la getch()\n");
	getch();
	printf("La getch() ha funzionato ?\n\n");
	
	printf("Ora provo con la 'kbhit()'\n");
	printf("premi un tasto ... (Entro 5 secondi) \n\n");
	Sleep(5000);
	while( kbhit() ) getch();
	printf("Eseguo la getch()\n");
	getch();
	printf("La getch() ha funzionato ?\n\n");
	
	printf("Fine.\n");
	return 0;
}