c语言:为什么我的while运行不了?

#include <stdio.h>
#include <math.h>
int main()
{
int a, i;
i = 0;
do
{
i++;
printf("输入一个数\n");
scanf_s("%d", &a);
if (a % 7 == 0)
{
printf("你输了,游戏结束!\n");
break;
}
else
printf("未踩雷,下一位\n");
printf("%d", i);
} while (i > 100);
while (a % 7 == 0||i >= 100);
printf("游戏结束,都是大佬!\n");
}

if和else可以,但是while(i>=100);这个运行不到,我理解不了

第1个回答  2022-10-20
第一个while(i>100)的循环条件应该是i<100,而不是i>100
这样i从0开始,才能在执行100次循环后自增为100,然后跳出循环
如果是while(i>100),第一次循环后i=1,不满足1>100,直接就跳出while了
还有第二个while(a%7==0||i>=100); 该语句没必要用while吧?如果满足while条件的话,程序就死循环在while中了,改成直接用if判断一下就好:
if (a%7==0 || i>=100)
printf("游戏结束,都是大佬!\n");追问

我懂了,我一直用错了while,我以为是符合while里面的条件就跳出程序,不符合就继续循环,然后一直一直陷在这个误区了。
然后第二个,哈哈哈,终于解惑了,我说我的游戏结束怎么一直刷屏,谢谢你!

追答

不客气~

本回答被提问者采纳
第2个回答  2022-10-19
你所谓的运行不到的现象是什么?追问

就是只循环了一次,我误以为while是不满足就继续循环,没想到是满足才继续循环,楼上帮我解决了疑惑。

c语言while循环为什么执行不了
因为你的break没有在大括号里,每次直接跳出了循环,条件判断后的多条语句一定要放到括号里。我帮你改了一下,你再试试。include <stdio.h>#include <stdlib.h>#include int main(){int number, a;int i = 9;srand((unsigned)time(NULL));number = rand() % 101;while(1){i--;if (i ...

c语言:为什么我的while运行不了?
第一个while(i>100)的循环条件应该是i<100,而不是i>100 这样i从0开始,才能在执行100次循环后自增为100,然后跳出循环 如果是while(i>100),第一次循环后i=1,不满足1>100,直接就跳出while了 还有第二个while(a%7==0||i>=100); 该语句没必要用while吧?如果满足while条件的话,程序就...

C语言while执行不了,代码见图?
首先,进入while循环之前,num没有被赋值就使用,是非法的,此时num的值不确定。补救方法,在while语句前面,增加一个输入语句,且把while循环内的输入语句,放到循环的最后。其次,如果一开始,num就是147,循环语句根本不会执行,因此,循环语句内部,num==147的判断,根本不会达到,也不会有输出。必须...

c语言为什么while运行到一半就不运行了
1、电话和密码用 long int长度可能不够,容易越界出错,建议用char[],长度自定。2、while(b!=c)里面,b、c显然是char[],直接 b!=c没有意义,比较的是地址而不是值,它们不会相等。应该用 strcmp(b, c)!=0;3、stu[n+i].mima定义为long int, stu[n+i].mima = b只是赋b的地址...

求助,C语言简单while循环出错
错误提示你的变量a没有声明,a=15,改为int a=15 在代码最后按一个回车,目的是加一个空行,可以取消第二个警告信息。

为什么C语言程序编译正确但不能执行?
因为你的c没有初值,while循环无法进行。另外你的算法也有问题,while循环可改为while(m%n!=0),循环结束后最小公约数时n。C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽...

c语言while循环一次都没有执行,正确吗?
循环执行的次数为:0次。也就是说程序while一次都不会被执行。代码的分析:首先定义了整形变量K,并且将K的值赋值为0,然后执行接下来的语句,准备执行while循环,但是判断条件是“K=0”,那么会再次将K的值赋值为0,当条件为0时会直接退出while循环,然后执行while循环之后的语句。所以得出while循环只...

新手学习c语言,dev c++ while语句运行出错,求解
你的while循环中,没有控制循环体的自增或自减。正确如下:

C语言编程 为什么进不了while(p!=NULL)循环
改成 while(p) 试试看。当p为真时,进入循环;当p为空时,循环结束。最好不要用(p==NULL)或者(p!=NULL) ,p本身就可表示判断。

c语言while 嵌套while 为什么不会
因为你第二个while循环结束后y的值为2,你在进行下一次循环时,第二个while循环条件是不会成立,所以只输出一行,

相似回答