我是一个真正真正的初学者,所以请耐心地向我解释,就像我是一个白痴。
如果我在stdin中输入几个数字,我的输出正是我想要的,但如果输入错误的数字,则输出只是每个wrong
表达式的无限循环。
如何停止此循环?
#include <stdio.h>
int main(void)
{
int number;
printf("Enter the best number in the world!\n");
scanf("%d", &number);
while (1)
{
scanf("%d", &number);
if(number > 22)
{
printf("WRONG, too high! Guess again\n");
}
if(number <22)
{
printf("WRONG, too low! Guess again\n");
}
if(number == 22)
{
printf("Clever girl <now imagine that scene from Jurrassic Park>\n");
break;
}
}
return 0;
}
答案 0 :(得分:0)
while(1)
将永远奔跑。尝试
while (number != 22)
然后,您也可以移动答案以正确显示&#34;循环外的数字,而不是休息。
我同意其他答案,只需要一个scanf,并根据你所描述的预期输出(我不确定我完全理解),它应该在循环内。
答案 1 :(得分:0)
将您的while(1)
移到第一个printf
之上,然后删除第二个scanf
。通过该更改,您的程序将循环,提示每个循环,直到输入正确的答案,然后它将退出。
另一种选择是删除第一个scanf
。