Loops 如果猜错了数字,如何停止这个无限循环?
我是一个真正的编程初学者,所以请耐心听我解释,就像我是个白痴一样 如果我在stdin中输入两个数字,我的输出正好是我想要的,但是如果我输入了错误的数字,输出只是每个Loops 如果猜错了数字,如何停止这个无限循环?,loops,Loops,我是一个真正的编程初学者,所以请耐心听我解释,就像我是个白痴一样 如果我在stdin中输入两个数字,我的输出正好是我想要的,但是如果我输入了错误的数字,输出只是每个错误的表达式的无限循环 我怎样才能阻止这个循环 #include <stdio.h> int main(void) { int number; printf("Enter the best number in the world!\n"); scanf("%d", &number);
错误的表达式的无限循环
我怎样才能阻止这个循环
#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;
}
#包括
内部主(空)
{
整数;
printf(“输入世界上最好的数字!\n”);
scanf(“%d”和编号);
而(1)
{
scanf(“%d”和编号);
如果(数字>22)
{
printf(“错了,太高了!再猜一次\n”);
}
如果(数字)
将永远运行。尝试
while (number != 22)
然后,您还可以将“正确”数字的答案移到循环之外,而不是使用中断
我同意其他答案,即只需要一个scanf,并且根据您描述的预期输出(我不确定我是否完全理解),它应该在循环中。移动,而(1)
在第一个printf
上方,并删除第二个scanf
。通过该更改,程序将循环,每次循环都会提示,直到输入正确答案,然后退出
另一个选择是移除第一个scanf
,这样我就可以取出第一个scanf
?另外,我在(数字!=22)时尝试了
但它仍在循环中。您希望它不断询问数字,直到您选择正确的数字吗?还是只询问一次?因此,在这种情况下,您只需要一次扫描,扫描应该在循环中。您可能还希望重复指令(即“重试”)或在循环中执行类似操作。
while (number != 22)