while循环的用法是
while(判断条件)
如果判断条件为真,则实行循环内部代码;
如果判断条件为假,则跳出循环,执行后续代码。
而判断条件为真的时候,值是1;判断条件为假的时候,值是0
故而,while
1是无限循环
while(1){.........}
如果在上面的花括号中没有跳出循环的语句及可能需要的判断条件时,确实是一个“死循环”;但如果有跳出循环的语句及可能需要的判断条件,它就可以不是死循环的(跳出循环的语句可以正确执行时)。
例如(下面的例子用来求不确定个数成绩的总分和平均分):
int s=0,i=0,x;
while(1)
{scanf("%d",&x);
if(x<0)break;
s+=x;
i++;
}
printf("Sum=%d\nAv=%g",s,(float)s/i);
以上这一段程序,可以求若干个非负整数的总和及平均值(以负整数结束输入)。
int
k=0;
while(k=1)
k++;
(k=1)是用来判断的条件它的返回值只有真和假,而k=1赋值语句的所回值为真,所以while循环条件一直为真,是个死循环,次数无限!
是无限循环。
如果1写在需要真假的地方,那么一定是true。1本身自己决定不了自己是数字还是真假,看它被放在那里了。比如说if
(1)
while
(1)
for
(;1;)就会被当做真假解读,如果是
a
=
a
+
1;就会当做数字。
C语言中是没有true和false的关键字的,真假就是用整数或指针表示的,0就是false,其他是true