求助关于do-while循环
对如下代码的运行结果感到很困惑:
int main(void)
{
char answer='y';
int i=0;
do
{
printf("请输入内容:");
scanf("%d",&i);
while(i<2)
{
printf("Hello World!\n");
i++;
}
if(i==2)
{
printf("Good morning.\n");
}
else
{
printf("Good afternoon.\n");
}
printf("需要再输入?(y or n)");
scanf("%c",&answer);
}while(tolower(answer)=='y');
system("Pause");
return 0;
}
当我给变量i输入数值3的时候,现实的结果是:
请输入内容:9
Good afternoon.
需要再输入?(y or n)请按任意键继续. . .
为什么没等我输入y或者n就直接结束了?求指点。
[解决办法]