while 与switch case中的break语句优先级

比如boolflag=true;while(flag){switch(x){case1:do1();flag=false;break;}do2()}我的break是表示s... 比如 bool flag = true;
while(flag){
switch(x){
case 1:
do1();
flag = false;
break;
}
do2()
}
我的break是表示switch case的正常结束还是表示跳出while循环啊 do2()还有机会执行吗? 假设是表示结束case语句 那么想跳出while循环怎么写?
展开
 我来答
百度网友00e4ec0
2012-10-12 · TA获得超过308个赞
知道小有建树答主
回答量:122
采纳率:0%
帮助的人:156万
展开全部
break是跳出当前层,在你这段代码里表示跳出switch,do2()还会执行的
想跳出while循环办法很多,
首选是用continue,代表强制进行下一次循环,然后while条件不成立则退出循环
或者在do2之前判断一下条件,成立则继续break
或者goto(不推荐)
……
763401802
推荐于2018-03-21 · TA获得超过504个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:148万
展开全部
break只能跳出当前循环或当前switch块,不会一下子跳出俩! 若想跳出while,拿上面的例子,case 1时执行do1();flag = false;break; 可以在switch(){}后面添加语句 if(x == 1)break;或者 if(!false)break;都可以跳出while循环!
bool flag = true;
while(flag)
{
switch(x)
{
case 1:do1();
flag = false;
break; //跳出switch(){}
}
if(x == 1)break; //这两句都可以跳出while循环

if(!false)break; //这两句都可以跳出while循环

do2()
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晴满星空7K
2012-10-12
知道答主
回答量:63
采纳率:0%
帮助的人:25.4万
展开全部
上面的breake 表示退出switch循环,do2能执行。
没办法一次跳出俩层循环。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式