在编程中,一个靠自身控制无法终止的程序称为“死循环”。
例如在C语言程序中,语句“while(1)printf("*");”就是一个死循环,运行它将无休止地打印*号。不存在一种算法,对任何一个程序及相应的输入数据,都可以判断是否会出现死循环。因此,任何编译系统都不做死循环检查。
在设计程序时,若遇到死循环,可以通过按下Ctrl+Pause/Break的方法,结束死循环。然而,在编程中死循环并不是一个需要避免的问题,相反,在实际应用中,经常需要用到死循环。
扩展资料
死循环的产生原因:
死循环也可能因为多个模块之间的交互而产生。考虑一台服务器若收到无法理解的需求时,会回应错误信息,此架构中不会有死循环。
但若有二台上述的服务器(A和B),互相交换数据,A收到由B所提交无法理解的需求,会回应错误信息给B,但若B也无法理解A提交的需求(其实是A的错误信息),会再以自己的格式回应错误信息给,A收到后无法理解,会再回应错误信息给B。像邮件循环就是这类的例子。
参考资料来源:百度百科-死循环
C语言中死循环怎么解决?
首先应该将对应的退出条件置为恒为真,然后按照“while循环”“for循环 ”“do-while循环”三个循环模式分别描述。
在这个过程中,还要注意管理好循环控制变量,使while 的条件有机会为FALSE,或在循环体中加入break,并使它有机会执行。
另外,也可以设置循环计数变量。为了防止程序出现死循环,最好是自习检查程序,保证逻辑正确。如果不放心的话,可以设置循环计数变量,嵌入循环,当溢出上限时停止程序并报错。
需要说明的是,死循环尽量少用。如果一定要用死循环,也要在循环体内设置退出条件(break)。
死循环就是让程序永不停歇地执行,随便举个例子,可以在while判断语句中,直接给个true,然后执行while里面的打印函数,while(true){ printf("……")} 这样就是死循环,永远不会终止,除非电脑内存炸了,死循环会影响电脑性能的,理解就行,可以尝试一两次看看效果,平时用不到的,编程的时候要避免死循环欢迎分享,转载请注明来源:内存溢出
评论列表(0条)