Я пишу функцию, которая обычно ждет, пока пользователь нажмет «ввод», а затем что-то делает. То, что я обнаружил, что работает при тестировании, приведено ниже:
#include <stdio.h>
int main()
{
int x = getc(stdin);
if (x == '\n') {
printf("carriage return");
printf("\n");
}
else {
printf("missed it");
printf("\n");
}
}
Вопрос, который у меня есть, и то, что я сначала пытался сделать, заключалось в следующем: if (x == '\ r')
но при тестировании , программа не поймала меня на вводе. '\n'
, кажется, соответствует тому, что я нажимаю Enter из консоли. Может кто-нибудь объяснить разницу? Кроме того, чтобы проверить, напишите его как , если... == "\n"
будет означать литерал строки символов? т. е. пользователь буквально должен ввести "\n"
из консоли, правильно?