編程中的死循環(huán)是什么過(guò)程?
死循環(huán)(endless loop)是指無(wú)法靠自身的控制終止的循環(huán),在編程中,一個(gè)靠自身控制無(wú)法終止的程序。
比如Python中的常見(jiàn)死循環(huán):while Ture
拓展:在C語(yǔ)言程序中,語(yǔ)句“while(1)printf("*");”就是一個(gè)死循環(huán),運(yùn)行它將無(wú)休止地打印*號(hào)。
不存在一種算法,對(duì)任何一個(gè)程序及相應(yīng)的輸入數(shù)據(jù),都可以判斷是否會(huì)出現(xiàn)死循環(huán)。因此,任何編譯系統(tǒng)都不做死循環(huán)檢查。
在設(shè)計(jì)程序時(shí),若遇到死循環(huán),我們可以通過(guò)按下Ctrl+Pause/Break的方法,結(jié)束死循環(huán)。
然而,在編程中死循環(huán)并不是一個(gè)需要避免的問(wèn)題,相反,在實(shí)際應(yīng)用中,經(jīng)常需要用到死循環(huán)。例如,我們使用的Windows操作系統(tǒng)下的窗口程序中的窗口都是通過(guò)一個(gè)叫消息循環(huán)的死循環(huán)實(shí)現(xiàn)的。在單片機(jī)、嵌入式編程中也經(jīng)常要用到死循環(huán)。在各類(lèi)編程語(yǔ)言中,死循環(huán)都有多種實(shí)現(xiàn)的方法,以C語(yǔ)言為例,可分別使用while.for,goto實(shí)現(xiàn)。