c语言 while1 为什么是无限循环?

如果下面的语句中使得结果是0 不就可以跳出了吗?

还有一个问题:1一定是表示true吗不可以就表示数字?

c语言的世界里除了0是false,其他的都是ture。

while(1){ } 语句判断条件是死循环是没错,但也并非一定是死循环,也有可能运行到某个时刻就跳出while循环了。

比如 while(1)里面运行到了break,或者return,那么就会终止当前的while语句,结束循环。上面说的中断,只是一时跳出while语句,执行其他语句,执行完以后仍然会返回while(1)继续循环。

扩展资料:

语法

Pascal

while <条件> do <语句>

意为当条件符合时,接着做下面的语句;不符合时,退出循环。

C语言

do <语句> while(<条件>);

while(<条件>) <语句>;

C++

while(<条件>) <语句>;

do <语句> while(<条件>);

Java

while(<条件>) {<语句;>}

do {<语句;>} while(<条件>);

二者的区别是do-while最少会被执行一次。

循环中可以使用continue结束当前循环,回到循环开始处开始下一次循环。也可以用break跳出整个循环。

参考资料来源:百度百科-while (循环语句及英文单词)

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-05
在c语言的世界里除了0是false,其他的都是ture。
看你纠结的真蛋疼:while(1){ }语句,只要不是 { }内的语句产生的终止循环,while是不会跳出来的,当然中断例外。
while(1){ } 语句判断条件是死循环是没错,但也并非一定是死循环,也有可能运行到某个时刻就跳出while循环了。比如 while(1)里面运行到了break,或者return,那么就会终止当前的while语句,结束循环。上面说的中断,只是一时跳出while语句,执行其他语句,执行完以后仍然会返回while(1)继续循环。本回答被提问者和网友采纳
第2个回答  推荐于2017-09-08
while循环的用法是
while(判断条件)

如果判断条件为真,则实行循环内部代码;
如果判断条件为假,则跳出循环,执行后续代码。
而判断条件为真的时候,值是1;判断条件为假的时候,值是0
故而,while 1是无限循环
第3个回答  2015-05-16
因为while()在判断表达式为true时会循环执行。

在C语言中,并没有bool类型,只有宏TRUE(1)和FALSE(0)。除了0以外的任何数,在C语言中都表示TRUE
在C++中,才有专门的bool类型true和false
第4个回答  2013-02-01
因为while语句括号内只要不是0就会进行循环,负数或正数都会进行循环。所以while(1)会一直循环,如果要跳出死循环可以用break语句追问

那万一是0不就可以嘛,所以也不是死循环啊?。。

追答

若果代码已经写好了是while(1)就会死循环,如果写的是while(0)那么一次循环也不会进行了,会跳过while语句
while(1)是永真循环,一般会配合break语句使用,不然就会一直循环了

追问

我的意思是while之后的语句会不会产生假的结果,使得它跳出?为什么是永真循环

追答

不会产生假的结果的。
x=0;
比如while(i){
x=x+2;
if(x>100)
break;
}
这段代码的意思是:只要x<=100,这个循环就会继续,除非x已经加到大于100了,大于100时就会执行break语句,不再执行循环

相似回答