c语言多重switch,最里面那层使用break,是跳出本层还是所有switc呢

Klingonsss 2016-03-23 09:05:32
c语言多重switch,最里面那层使用break,是跳出本层还是所有switc呢
...全文
1619 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
n21n01 2016-03-24
  • 打赏
  • 举报
回复
break 退出当前层, return 退出当前函数 exit退出程序 goto跳到标签位置
paschen 2016-03-24
  • 打赏
  • 举报
回复
只是跳出本层
赵4老师 2016-03-24
  • 打赏
  • 举报
回复
break;goto;return;throw;exit(1);taskkill;shutdown;拔电源插头;……
wodeaxu 2016-03-24
  • 打赏
  • 举报
回复
break只对循环语句有用,即switch for while这些,对条件语句不起作用。 break只能跳出本循环,也即只能跳出一层。 想实现多层跳出可以自己用多个break加条件判断实现,也可以用goto语句。不过编码规范好像不建议用goto。
galiniur0u 2016-03-24
  • 打赏
  • 举报
回复
如果想跳出多层循环除了用goto,再就自定义判断逻辑,一层层跳出。
小灸舞 版主 2016-03-24
  • 打赏
  • 举报
回复
break会直接跳出最内层的循环或switch语句块,不理睬if语句 break其作用大多情况下是终止上一层的循环,以C语言来说,break在switch(开关语句)中在执行一条case后跳出语句的作用。 1. break语句对if-else的条件语句不起作用。 2. 在多层循环中,一个break语句只向外跳一层。
lm_whales 2016-03-23
  • 打赏
  • 举报
回复
break 只能跳出一层 switch 或者循环 如果是 if else break 是不管的。 他只管 switch 或者循环
ZChameleon 2016-03-23
  • 打赏
  • 举报
回复
跳出本层,可以使用一些标志变量控制要跳出的层,或直接 goto ,一般不建议使用超过两层的 switch 。
Klingonsss 2016-03-23
  • 打赏
  • 举报
回复
又试了一下for语句 #include <stdio.h> #include <stdlib.h> main() {int i=0;int j; for(i=0;i<5;i++) {for(j=0;j<5;j++) if(j==0)break;} printf("%d",i); } 也是只break最里层
Klingonsss 2016-03-23
  • 打赏
  • 举报
回复
#include <stdio.h> #include <stdlib.h> main() { int a[]={2,3,5,4},i; for(i=0;i<4;i++) switch(i%2) {case 0:switch(a[i]%2) {case 0:a[i]++;break; case 1:a[i]--; }; case 1:a[i]=0; } for(i=0;i<4;i++)printf("%d",a[i]);printf("\n"); } 试了一下,里面的break只跳出里层

69,380

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧