使用switch的注意
switch语句的控制流程能够一次通过并执行各个case部分。
就好像:
switch (color)
{
case 1:
printf("reds");
break;
case 2:
printf("yellows");
break;
case 3:
printf("blues");
break;
default:
printf("whites");
break;
}
switch (color)
{
case 1:
printf("reds");
case 2:
printf("yellows");
case 3:
printf("blues");
default:
printf("whites");
}
如果color值为2,程序会答应出yellowsblueswhites, 因为程序的控制流程在执行了第二个printf调用后,会自然地顺序执行下去。
所以,用switch语句有下列注意点:
1。每个case语句的结尾都要加break,如果不需要加的,最好加个注释/* Fall through */说明一下,而default后的那个break只是偶的个人习惯而已,
可以不加的。
switch (color)
{
case 1:
printf("reds");
break;
case 2:
/* Fall through */
case 3:
printf("blues");
break;
default:
printf("whites");
break;
}
2。不要忘记最后那个default 分支。即使程序真的不需要default 处理,也应该保留语句 default : break; 这样做并非多此一举,而是为了防止别人误以为你忘了default 处理。
使用switch的注意相关推荐
- Go 学习笔记(62)— Go 中 switch 语句中的 switch 表达式和 case 表达式之间的关系
switch 语句对 switch 表达式的结果类型,以及各个 case 表达式中子表达式的结果类型都是有要求的. 毕竟,在 Go 语言中,只有类型相同的值之间才有可能被允许进行判等操作. 1. sw ...
- Java基础Switch和循环控制
1. switch语句 1.1 分支语句switch语句 格式 switch (表达式) {case 1:语句体1;break;case 2:语句体2;break;...default:语句体n+1; ...
- Android switchCompat. 和 Switch
今天礼拜日,回顾知识点 看到了switchCompat 这里记录下它的简单使用 switchCompat 使用需要导入v7包,一般这个创建项目的时候默认的都用,也就不用关心了 使用呢也很简单 布局 ...
- Kotlin 中 switch 写法
在Kotlin 中并没有switch 操作符 , 取而代之的是when java的写法: int i= 5;switch (i){case 5:System.out.print("5&quo ...
- switch case
1 var v = 2;2 switch (true) {3 case 0:4 alert("值为零");5 break;6 case v > 0 && v ...
- C++ 笔记(12)— 判断(if/if...else/switch、条件运算符)
1. if 语句 C++ 中 if 语句的语法: if (boolean_expression) {// 如果布尔表达式为真将执行的语句 } 如果布尔表达式为 true ,则 if 语句内的代码块将被 ...
- Go 学习笔记(8)— 条件语句(if、if...else...、switch、fallthrough)
Go 语言提供了以下几种条件判断语句: 语句 描述 if 语句 if 语句 由一个布尔表达式后紧跟一个或多个语句组成 if-else 语句 if 语句 后可以使用可选的 else 语句, else 语 ...
- 编写函数求两个整数 a 和 b 之间的较大值。要求不能使用if, while, switch, for, ?: 以 及任何的比较语句。...
本题要求不能使用if, while, switch, for, ?: 以 及任何的比较语句,也就是要求我们不能用常规的方法来判断两个数的大小. 那么按照以往的方法,要判断两个数的大小,应该要将两个数进 ...
- C 语言中的 switch 语句 case 后面是否需要加大括号
事件原由为编辑器的自动缩进,当 case 换行后不自动缩进. 于是在在想可以可否在 case 后面再大括号,让其自动缩进. 查了资料,发现 case 是可以加大括号的,相当于代码块. 而且还有另外一个 ...
- switch...case结构
/* *switch(要判断的数据){ case 值1: ...;break; case 值2: ...;break; case 值3: ...;break; default: ...;break; ...
最新文章
- 立体显示与BCN双稳态手性向列相
- termcap - 终端功能数据库详解
- 5月 PC 浏览器市场份额:Chrome 即将突破 60%
- php课程 8-28 php如何绘制生成显示图片
- 架构专家高磊:缓存为王——无线缓存架构优化
- ML、DL、CNN学习记录2
- eja智能压力变送器工作原理_电量变送器是什么?电量变送器工作原理解析
- Exchange常见问题大全
- 单片机c语言定时器控制流水灯,单片机-定时器流水灯
- selenium自动化中停止页面加载
- wz框架登录功能详解——demo1
- 为什么公司要和商标同步注册?
- rest assured
- Experimental Class Task 4-1: Pupil Calculator
- 打喷嚏的龙(dargon)
- 爬虫实战(一)-新版知乎网页分析获取登录url
- 阚俊青少机器人_长春中医药大学附属医院、中医学院阚俊明副书记一行调研我校中医学类学生培养工作...
- lio linux工具,ISCSI (简体中文)/LIO (简体中文)
- 论文翻译-Hamming OCR A Locality Sensitive Hashing Neural Network for Scene Text Recognition
- 如何在自己的电脑开服务器(内网穿透)