由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...