使用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; ...
最新文章
- ASP.NET 2.0 之 Master Page 学习笔记 --zt
- 键盘映射软件_KOMPLETE KONTROL M32 键盘 MIDI 控制器的评测
- 《构建实时机器学习系统》一1.8 实时机器学习模型的生存期
- 同步异步单线程多线程初级理解
- REST API的演变
- 【Modern OpenGL】纹理 Textures
- C语言从来都没有过时,你大爷终究是你大爷
- Facebook热门应用被曝向第三方提供用户信息
- UITextView
- 将Matting结果转化为二分割结果
- 代码管理仓库项目任务计划
- java中的io系统详解[转]
- JSP电子病历管理系统
- 软件测试报告模板excel,测试报告模板,excel.docx
- WinCC语音报警实现方法
- 在 Microsoft Windows 平台上安装 JDK 17
- Python爬虫入门教程 41-100 Fiddler+夜神模拟器+雷电模拟器配置手机APP爬虫部分
- 健身不用再做一整套动作!最新研究:只做离心收缩就行,最终效果差别不大,还长了更多肌肉...
- 线扫描matlab,MATLAB在水下激光线扫描图像处理中的应用
- Mysql整型id和uuid区别
热门文章
- [USACO18JAN]Lifeguards P 洛谷黑题,单调队列优化DP
- cad镜像后标注尺寸数字反了_CAD中文字镜像后倒过来了,怎么办?仅修改一个参数值就搞定了...
- 四轴笔记----无线透传模块|无线图传|遥控和接收机|无线数传
- Sql中TO_DAYS,DATE_SUB等时间函数介绍
- 我们应当怎样做需求分析:非功能需求
- 下载到的电子书格式是Mobi,这种格式能否在手机上打开?
- MySQL-V5.7 压缩包版安装教程
- 设计模式 -- 简单工厂模式
- PPT如何在投影不显示放映备注,在电脑上可以显示备注
- 成都梵羽汇:抖音任务中心如何操作呢?