Presentacion

Esta respuesta aplica para quienes se hayan encontrado en la red, ejemplos usando getch(); getch() no es portable y solo funciona para el sistema operativo Windows,
Todo código fuente que no es portable hay que evitar usarlo.

Si no te haz encontrado con getch() en la red, te recomiendo hacerte a la idea de que ni existe y seguir adelante con tu aprendizaje en este portal con tranquilidad; ya te explicaré código portable para detalles como getch(); no es importante si apenas vas en el módulo II de Programación Estructurada.

Lo que sigue es solo para responder a la pregunta y no te recomiendo leerlo, a menos que tengas ya que usar forzosamente getch() en un programa.

getchar() retira un caracter del bufer de teclado, si el búfer ya tiene caracteres, retira uno cada vez que hagas getchar(), pero si el búfer está vacío, se detiene a esperar que haya un caracter y requiere que presiones la tecla "entrar" para que el programa continúe su ejecución.

getch() funciona igual que getchar() en cuanto a tomar un caracter a la vez, y que si el búfer está vacío se detiene a esperar, solo que si el búfer esta vacío, no requiere que presiones la tecla "entrar" para tomar el caracter de la tecla que presiones, toma el caracter en cuanto presiones una tecla y continúa el programa sin necesitar que presiones "entrar".