[英]break in do while loop
在嵌套循環中打破時會發生什么?
假設以下代碼:
for(int x = 0; x < 10; x++)
{
do {
if(x == 4)
break;
x++;
} while(x != 1);
}
遇到break語句,for循環或do while循環時哪個循環會退出?
或者,如果您不想使用goto
,可以使用標志:
int flag = 0;
for(int x = 0; x < 10; x++)
{
do {
if(x == 4) {
flag = 1;
break;
}
x++;
} while(x != 1);
if(flag)
break; // To break the for loop
}
Break將終止包含break的最近/最內層循環。 在你的例子中,break將終止do-while,並且控制跳轉回到for()循環,並簡單地啟動for()的下一次迭代。
但是,由於你在do()和for()循環中都修改了x,所以執行會有點不穩定。 一旦外部X達到5,你將產生一個無限循環。
while會斷開,for循環會繼續運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.