【发布时间】:2012-08-26 08:52:59
【问题描述】:
中断嵌套循环会发生什么?
假设以下代码:
for(int x = 0; x < 10; x++)
{
do {
if(x == 4)
break;
x++;
} while(x != 1);
}
遇到break语句会退出哪个循环,for循环还是do while循环?
【问题讨论】:
-
break只会退出内循环 -
它将退出 do/while,如果你想退出 OUTER 循环,你将不得不使用 goto 语句滚动......
-
您可以通过多种方式打破外循环。你可以
goto,你可以return,你可以设置x = 10;,等等。 -
David,感谢关于将外部循环的条件设置为 false 的提示,但 goto 正是我试图避免的。
-
通过实际测试此代码,您可以自己回答这个问题。问之前你试过吗?
标签: c loops nested-loops