【发布时间】:2015-01-23 15:41:23
【问题描述】:
这是一个小 C 代码
#include<stdio.h>
int main()
{
char ch='Y';
while(ch=='Y')
{
printf("\nEnter new value for Y ");
scanf("%c",&ch);
if(ch=='Y' || ch=='y')
// do some work
printf("Y was selected\n");
}
printf("exiting main");
return 0;
}
我第一次输入'Y'作为输入(不带qoutes),循环返回true并第二次进入,但这一次它没有在scanf()上停止供用户输入。(请执行为清楚起见,输入为“Y”)。输出如下所示:
如图所示,编译器第二次没有停止输入。这背后的原因是什么。提前致谢!
【问题讨论】:
-
这样的重复几乎不计其数......
-
你确定编译器应该停止吗? :p