Как ответили выше - для отладки используется отладчик и брекпоинты.
Касательно функций - getc предназначена для того, чтобы из потока вычитывать один символ, а не для того, чтобы отслеживать нажатия кнопок. Можно, конечно, явным образом ей попробовать подсунуть поток ввода в виде:
getc(stdin);
получив ожидание нажатия Enter (а вовсе не ввода любого символа в буфер ввода), но это сомнительное занятие. Нажатие кнопки раньше отслеживалось через getch(), но эта функция специфична для компилятора и сейчас по этой причине называется _getch() и находится в conio.h в микрософтовском компиляторе
>Неужели в С++ нет нормального вызова клавиши??????????
В консольных программах не предусмотрено отслеживание низкоуровневых нажатий/отпусканий чем-либо, кроме платформенных библиотек, так как сама консоль рассматривается, с точки зрения языка, прежде всего, как эмулятор терминала - телетайпа (существующего, на минуточку, с 30х годов и появившегося задолго до появления компьютера), который такой функциональностью не обладает и предназначен лишь для получения/отправки потоков символов (а не сканкодов).
Сейчас в С++ знаю GetAsyncKeyState();
Так там когда у меня происходит например цикл for(i==0,i==100,i++);
И встраиваю GetAnsyncKeyState(), могу посмотреть значения переменных.
Когда в цикл добавляю random(100,100); GetAnsyncKeyState() - срабатывает только когда цикл весь закончится. Тогда он уже молодец помнит что кнопка была нажата.
Я так понял такая ситуация была вроде и когда в теле одной функции, есть вызов другой, то GetAnsyncKeyState() выполняется уже после всего что произошло в теле функции.
Вы понимаете меня. Я из за этого бросил всё.
Неужели в С++ нет нормального вызова клавиши??????????
Обработчик событий клавиатуры OnKeyPress , то вообще через раз может сработать, может нет, теряет момент нажатия.
Честно не помню точных ситуаций.