【发布时间】:2016-05-06 21:34:00
【问题描述】:
对不起,我是新手,所以答案可能很明显,但是.. 有人可以向我解释为什么我的代码需要输入,只有当我按下回车然后输入我的字母作为 else if 时才有效?
#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”,它会显示“这不是有效答案”;但是,如果我按回车键然后键入“Y”,它会正确响应“干得好!这是正确的答案!”。这可能是显而易见的,因为我对编码还是很陌生,但感谢任何帮助。
【问题讨论】:
-
我已从您的标题中删除了标签。在 StackOverflow 上,我们有……嗯,标签,它们做的事情完全相同,而且可以很容易地被计算机传递,并有助于确保每个人对相同的事物使用相同的名称。