Извините, что я новичок в этом, поэтому ответ, вероятно, очевиден, но ... Может кто-нибудь объяснить мне, почему для моего кода, который принимает ввод, работает только когда я нажимаю enter, а затем вводим свое письмо для другого, если?Ввод работает только после нажатия клавиши ввода?
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
printf("Question?\nType Y for yes or N for no");
if(getc(stdin) == 'N')
printf("That is not the correct answer\n");
else if(getc(stdin) == 'Y')
printf("Good Job! That is the correct answer\n");
else
printf("That's not a valid answer\n");
return 0;
}
Что происходит, если я типа «N», то он правильно отвечает «Это не правильный ответ», но если я типа «Y» он говорит: «Это не является правильным ответом»; однако, если я нажимаю enter, а затем набираю «Y», он правильно отвечает «Хорошая работа! Это правильный ответ!». Это, вероятно, что-то очевидное, потому что снова я очень новичок в кодировании, но любая помощь приветствуется.
Я удалил тег из вашего названия. В StackOverflow у нас есть ... ну, _tags_, которые делают точно то же самое и могут быть легко переданы компьютерами, а также помогают гарантировать, что каждый использует одни и те же имена для одних и тех же вещей. –