#include <iostream>
using namespace std;
int main()
{
int x=0;
for(int i=0;i<2;i++)
{
for(int j=0;i<=3;j++)
{
if(j%2)
break;
x++;
}
x++;
}
cout<<"x="<<x<<endl;
return 0;
}
这段代码break的作用域在哪里,为什么最终结果为4?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- threenewbee 2019-09-20 09:35关注
break只能跳出当前的块,多个循环的话,只能跳出内侧循环,要一次性跳出所有循环,最简单的是使用goto语句。
#include <iostream> using namespace std; int main() { int x=0; for(int i=0;i<2;i++) { for(int j=0;i<=3;j++) { if(j%2) goto endloop; x++; } x++; } endloop: cout<<"x="<<x<<endl; return 0; }
结果就是1
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报