一般在运行循环语句的时候,会保证判断条件一直在做改变,所以在某个时刻导致条件为假而退出循环。
如:
int n=10while(n--) //当n--为0的时候退出循环
{
printf("n=[%d]\n")
}
而死循环,就是由于人为编写失误或程序需要导致循环条件一直为真,这样程序会永远执行循环中的语句,如:
int n=10while(n++) //此时n++永远不等于0,则条件永远为真,死循环
{
printf("n=[%d]\n")
}
在编程中,一个靠自身控制无法终止的程序称为“死循环”。
例如在C语言程序中,语句“while(1)printf("*");”就是一个死循环,运行它将无休止地打印*号。不存在一种算法,对任何一个程序及相应的输入数据,都可以判断是否会出现死循环。因此,任何编译系统都不做死循环检查。
在设计程序时,若遇到死循环,可以通过按下Ctrl+Pause/Break的方法,结束死循环。然而,在编程中死循环并不是一个需要避免的问题,相反,在实际应用中,经常需要用到死循环。
扩展资料
死循环的产生原因:
死循环也可能因为多个模块之间的交互而产生。考虑一台服务器若收到无法理解的需求时,会回应错误信息,此架构中不会有死循环。
但若有二台上述的服务器(A和B),互相交换数据,A收到由B所提交无法理解的需求,会回应错误信息给B,但若B也无法理解A提交的需求(其实是A的错误信息),会再以自己的格式回应错误信息给,A收到后无法理解,会再回应错误信息给B。像邮件循环就是这类的例子。
参考资料来源:百度百科-死循环
死循环就是循环条件一直为true,程序进入循环体的代码执行后就不能终止。
以下是事例,变量i 一直小于1.
<script>for(i=0i<1i--)
{
alert("msg")
}
</script>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)