C語言退出多層巢狀迴圈技巧

2021-09-06 14:37:01 字數 367 閱讀 1928

由於break語句只能影響它的最內層迴圈,要想立即從深層巢狀迴圈中退出,有哪些方法呢?

while

(condition1)

}}quit:;

要想在這種情況下避免使用goto語句,可以考慮以下兩種方案:

當你希望退出所有迴圈時設定乙個狀態標誌,但這個標誌在每個迴圈中都必須進行測試:

enum

status;

...status =ok;

while(status == ok &&condition1)

}}

把所有的迴圈都放在乙個單獨的函式裡,當災難降臨在最內層的迴圈的時候,可以使用return語句離開這個函式

退出多層迴圈

方法一 正常情況下不報錯,三層迴圈,會執行5的三次方 raise 丟擲異常物件 固定用法 try中丟擲乙個異常,try裡所有的 都不會被執行。class getoutofloop exception pass try for i in range 5 for j in range 5 for k i...

多重 多層 巢狀迴圈

乙個迴圈結構中可以巢狀其他兩種迴圈結構,巢狀多少層和多少個都可以,一般不會超過兩層!所以多重迴圈又往往被稱為叫雙重迴圈。外層迴圈執行一次,內層迴圈執行一遍 輪。while dowhile 如果在列印圖形的時候,先看有幾行,外層迴圈控制列印幾行。再看有幾列,內層迴圈控制每列列印的內容。一會break和...

C語言 巢狀迴圈

改正後的 把i加回原值,結果正確 問題1 min max 和flag的初值應該在 定義,scanf語句要怎麼放?解決辦法 這個問題是我在寫出 後執行測試的時候發現的,明明按照預想我只需要輸入n個數就可以輸出結果,但是執行測試的時候卻要輸入n 1個數才能輸出結果。經過除錯我發現,在內迴圈的最後一次迴圈...