在嵌套循环中打破时会发生什么?
假设以下代码:
for(int x = 0; x < 10; x++)
{
do {
if(x == 4)
break;
x++;
} while(x != 1);
}
在遇到break语句,for循环或do while循环时,哪个循环会退出?
答案 0 :(得分:7)
答案 1 :(得分:4)
或者,如果您不想使用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
}
答案 2 :(得分:0)
Break将终止包含中断的最近/最内层循环。在你的例子中,break将终止do-while,并且控制跳转回到for()循环,并简单地启动for()的下一次迭代。
但是,由于你在do()和for()循环中修改x,执行会有点不稳定。一旦外部X达到5,你就会产生一个无限循环。
答案 3 :(得分:0)
while会断开,for循环将继续运行。