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 三層迴圈...