C语言中程序如:for( ; ;);为什么是死循环?

请各位高手详细指点一下!!!

for( ; ;);是一个典型的简介的死循环。

 

解释如下:

    所谓循环就是让计算机重复执行一段代码;

    循环的核心有两个部分:循环控制、循环体;

    循环控制部分的循环结束条件如果永远成立,将会导致一直循环,俗称”死循环“;

    上面的程序:最后的分号,表示循环体为空,是空循环;括号中的两个分号之间是放循环结束条件的,这里也是空,等价于循环条件永远成立。

     

for( ; ;);的循环条件永远成立,所以导致死循环。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-06
您好,for(;;);这个循环相当于while(1);这个语句就是无限循环;
在for语句当中,第一个是初始化数据,第二个用于条件判断,第三个用于循环操作。
当第二缺省的时候,系统会直接判定为1,相当于不初始化数据,不进行循环操作,条件判断始终为真,始终进行空操作,不断循环,直至死机
第2个回答  2020-01-07
死循环就是不停的执行一段代码,而没有退出的条件~~~~~比如你想要计算从1开始计算以后每个数的和,如果你设置成for(i=1;i<=100;i++){}则程序会在运行100次以后退出for循环,而如果设置成for(i=1;;i++){}就可以说是进入了一个死循环,当然这么写是不合法的~~~~
第3个回答  2010-03-06
;;中间是结束条件,什么都不写就是一直循环,当然会死。
如果确实要这么使用,在for循环中使用break(结束循环)或者return(结束当前函数),也可以让他不死.
第4个回答  2010-03-19
for(int i=0;i<20;i++)
=>确定i=0,执行循环语句,然后i=i+1,判断i是否小于20,如果为真,则执行循环语句,i=i+1,~~~~~~~知道i等于20时,跳出循环
=>for(语句1;语句2;语句3)

语句1:确定循环变量
语句2:当语句2为假时,跳出循环
语句3:当一次循环将要结束时,最后执行的语句

for(;;)语句2为空,则默认为恒真,无限循环。
相似回答