『壹』 什麼是死循環
在編程中,一個靠自身控制無法終止的程序稱為「死循環」。
例如在C語言程序中,語句「while(1)printf("*");」就是一個死循環,運行它將無休止地列印*號。不存在一種演算法,對任何一個程序及相應的輸入數據,都可以判斷是否會出現死循環。因此,任何編譯系統都不做死循環檢查。
在設計程序時,若遇到死循環,可以通過按下Ctrl+Pause/Break的方法,結束死循環。然而,在編程中死循環並不是一個需要避免的問題,相反,在實際應用中,經常需要用到死循環。
(1)死循環編譯報錯嗎擴展閱讀
死循環的產生原因:
死循環也可能因為多個模塊之間的交互而產生。考慮一台伺服器若收到無法理解的需求時,會回應錯誤信息,此架構中不會有死循環。
但若有二台上述的伺服器(A和B),互相交換數據,A收到由B所提交無法理解的需求,會回應錯誤信息給B,但若B也無法理解A提交的需求(其實是A的錯誤信息),會再以自己的格式回應錯誤信息給,A收到後無法理解,會再回應錯誤信息給B。像郵件循環就是這類的例子。