while for迴圈巢狀 死迴圈原因

2021-10-05 18:12:22 字數 579 閱讀 7256

由while迴圈迴圈條件不當或者break語句放置位置不當導致死迴圈。

錯誤**如下:

while

(cnt <=

500)

if(cnt ==

500)

break;}

}

由於實際約束,cnt最多只有500,所以當cnt增長至500後,break語句使得程式跳出了內層的for迴圈,但由於500<=500,仍然滿足外層while迴圈的條件,所以一直在while迴圈,死迴圈。

**解決方案1:**修改while迴圈的條件為:cnt < 500

while

(cnt <

500)

if(cnt ==

500)

break;}

}

**解決方案2:**把break語句移動到外層while迴圈

while

(cnt <=

500)}if

(cnt ==

500)

break

;}

死迴圈和巢狀迴圈

死迴圈 也就是迴圈中的條件永遠為true,死迴圈的是永不結束的迴圈。例如 while true 在後期的開發中,會出現使用死迴圈的場景,例如 我們需要讀取使用者輸入的輸入,但是使用者輸入多少資料我們並不清楚,也只能使用死迴圈,當使用者不想輸入資料了,就可以結束迴圈了,如何去結束乙個死迴圈呢,就需要使...

shell 死迴圈if判斷 shell 死迴圈

例1 執行指令碼後會自動載入firefox瀏覽器,並開啟指定網頁。如果使用者關閉firefox,指令碼會再次自動重新開啟firefox。如需結束迴圈,中止t2.sh程序即可。注意不要同時執行兩個t1.sh指令碼,否則 若事先不知道指令碼名,也可以通過類似於 pstree grep firefox 的...

迴圈及迴圈巢狀

程式的三大流程 順序 從上往下執行 分支 根據條件判斷,決定執行的 的分支 迴圈 讓特定 重複執行 while語句語法格式 初始條件設定 通常是重複執行計數器 while 條件 判斷 計數器 是否達到 目標次數 條件滿足時,執行1 條件滿足時,執行2 條件滿足時,執行3 處理條件 計數器 1 i 1...