c语言while循环为什么执行不了

为什么这个程序中间的那个while函数运行不了求大神打救

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int number,a;
int i=9;
srand((unsigned)time(NULL));
number = rand()%101;
while(1)
{
i--;
if(i<0)
printf("游戏结束你猜错了,这个数是%d",number);break;

printf("此数范围是0-100");
printf("请输入一个0-100的数字");
scanf("%d",&a);
if(a==number)
{
printf("游戏结束你猜对了,这个数是%d",number);
}
else if(a<number)
{
printf("你输入的数比这个数小,你还有%d次机会,请重新输入",i);
}
else if(a>number )
{
printf("你输入的数比这个数大,你还有%d次机会,请重新输入",i);
}
else if(a==number)
printf("游戏结束你猜对了,这个数是%d",number);break;
}
printf("游戏结束你猜对了,这个数是%d",number);

return 0;
}

因为你的break没有在大括号里,每次直接跳出了循环,条件判断后的多条语句一定要放到括号里。我帮你改了一下,你再试试。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int number, a;
int i = 9;
srand((unsigned)time(NULL));
number = rand() % 101;
while(1){
i--;
if (i < 0){
printf("游戏结束你猜错了,这个数是%d", number);
break;
}

printf("此数范围是0-100");
printf("请输入一个0-100的数字");
scanf("%d", &a);
if (a == number)
{
printf("游戏结束你猜对了,这个数是%d", number);
}
else if (a < number)
{
printf("你输入的数比这个数小,你还有%d次机会,请重新输入", i);
}
else if (a > number)
{
printf("你输入的数比这个数大,你还有%d次机会,请重新输入", i);
}
else if (a == number){
printf("游戏结束你猜对了,这个数是%d", number);
return 0;
}
}
return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答