跳出多重迴圈的方法

2021-06-27 01:03:46 字數 620 閱讀 5272

1.goto

goto不是不能用

goto的缺點是:1.使程式不可讀;2.無法對範圍內的物件執行析構

很多人只知道第乙個缺點,其實c++不推薦用的根本原因確實第二個。不推薦用setjmp()/longjmp()也是這個原因。

明白了原因,樓主就可以仔細分析一下:(1)盡量不要直接退出多重迴圈(2)如果要直接退出,必須保證所有物件能正確析構,比如用丟擲異常的方法。(3)在確保不會有資料丟失的情況下,也可以使用goto/setjmp/longjmp等手段

2,設標記

for(i = 0; i < a; i++)

if(k >= c)

break;

}if(j >= b)

break;}

或bool nostop = true;

for (int i = 0; ((條件1)&&(stop)); ++i)

if(j==strlen(p))

return i-strlen(p); /直接退出2層迴圈,而不是用break

i=i-j+1; //

指標i回溯

}

return -1

;

}

python跳出多重迴圈的方法

方法1 自定義異常 coding utf 8 功能 python跳出迴圈 方法1 自定義異常 class getoutofloop exception pass try for i in range 5 for j in range 5 if i j 2 raise getoutofloop els...

python跳出多重迴圈

今天同事問我乙個python面試題,關於python跳出多層迴圈,原來還真沒用過,網上一查還真有點意思,下面記錄一下 python 本身沒有 break n 和 goto 的語法,這也造成了python 難以跳出多層 特定層數 迴圈。下面是幾個跳出多層 特定層數 迴圈的tip。class getou...

java跳出多重迴圈

普通的break和continue只能跳出乙個迴圈或者終止某一次迴圈。system.exit 0 與return表示退出程式。最近碰到乙個問題 在迴圈最裡層跳出多層迴圈 public class test system.out.println 外層迴圈 system.out.println 三層迴圈...