switch语句的控制流程能够一次通过并执行各个case部分。
 就好像:
   switch (color)
  {
  case 1: 
       printf("reds");
       break;
  case 2:
       printf("yellows");
       break;
  case 3:
       printf("blues");
       break;
  default:
       printf("whites");
       break;
  }

 这时就会根据变量color的值,1,2, 3,或者别的,分别打印reds, yellows, blues, whites
 
 假如改动一下代码:
  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 处理。
 
[Some are referred from <<C Traps and Pitfalls>> and <<High Quality C / C++ Programming Guide>>]

使用switch的注意相关推荐

  1. Go 学习笔记(62)— Go 中 switch 语句中的 switch 表达式和 case 表达式之间的关系

    switch 语句对 switch 表达式的结果类型,以及各个 case 表达式中子表达式的结果类型都是有要求的. 毕竟,在 Go 语言中,只有类型相同的值之间才有可能被允许进行判等操作. 1. sw ...

  2. Java基础Switch和循环控制

    1. switch语句 1.1 分支语句switch语句 格式 switch (表达式) {case 1:语句体1;break;case 2:语句体2;break;...default:语句体n+1; ...

  3. Android switchCompat. 和 Switch

    今天礼拜日,回顾知识点 看到了switchCompat 这里记录下它的简单使用 switchCompat  使用需要导入v7包,一般这个创建项目的时候默认的都用,也就不用关心了 使用呢也很简单 布局 ...

  4. Kotlin 中 switch 写法

    在Kotlin 中并没有switch 操作符 , 取而代之的是when java的写法: int i= 5;switch (i){case 5:System.out.print("5&quo ...

  5. switch case

    1 var v = 2;2 switch (true) {3 case 0:4 alert("值为零");5 break;6 case v > 0 && v ...

  6. C++ 笔记(12)— 判断(if/if...else/switch、条件运算符)

    1. if 语句 C++ 中 if 语句的语法: if (boolean_expression) {// 如果布尔表达式为真将执行的语句 } 如果布尔表达式为 true ,则 if 语句内的代码块将被 ...

  7. Go 学习笔记(8)— 条件语句(if、if...else...、switch、fallthrough)

    Go 语言提供了以下几种条件判断语句: 语句 描述 if 语句 if 语句 由一个布尔表达式后紧跟一个或多个语句组成 if-else 语句 if 语句 后可以使用可选的 else 语句, else 语 ...

  8. 编写函数求两个整数 a 和 b 之间的较大值。要求不能使用if, while, switch, for, ?: 以 及任何的比较语句。...

    本题要求不能使用if, while, switch, for, ?: 以 及任何的比较语句,也就是要求我们不能用常规的方法来判断两个数的大小. 那么按照以往的方法,要判断两个数的大小,应该要将两个数进 ...

  9. C 语言中的 switch 语句 case 后面是否需要加大括号

    事件原由为编辑器的自动缩进,当 case 换行后不自动缩进. 于是在在想可以可否在 case 后面再大括号,让其自动缩进. 查了资料,发现 case 是可以加大括号的,相当于代码块. 而且还有另外一个 ...

  10. switch...case结构

    /* *switch(要判断的数据){ case 值1: ...;break; case 值2: ...;break; case 值3: ...;break; default: ...;break; ...

最新文章

  1. ASP.NET 2.0 之 Master Page 学习笔记 --zt
  2. 键盘映射软件_KOMPLETE KONTROL M32 键盘 MIDI 控制器的评测
  3. 《构建实时机器学习系统》一1.8 实时机器学习模型的生存期
  4. 同步异步单线程多线程初级理解
  5. REST API的演变
  6. 【Modern OpenGL】纹理 Textures
  7. C语言从来都没有过时,你大爷终究是你大爷
  8. Facebook热门应用被曝向第三方提供用户信息
  9. UITextView
  10. 将Matting结果转化为二分割结果
  11. 代码管理仓库项目任务计划
  12. java中的io系统详解[转]
  13. JSP电子病历管理系统
  14. 软件测试报告模板excel,测试报告模板,excel.docx
  15. WinCC语音报警实现方法
  16. 在 Microsoft Windows 平台上安装 JDK 17
  17. Python爬虫入门教程 41-100 Fiddler+夜神模拟器+雷电模拟器配置手机APP爬虫部分
  18. 健身不用再做一整套动作!最新研究:只做离心收缩就行,最终效果差别不大,还长了更多肌肉...
  19. 线扫描matlab,MATLAB在水下激光线扫描图像处理中的应用
  20. Mysql整型id和uuid区别

热门文章

  1. [USACO18JAN]Lifeguards P 洛谷黑题,单调队列优化DP
  2. cad镜像后标注尺寸数字反了_CAD中文字镜像后倒过来了,怎么办?仅修改一个参数值就搞定了...
  3. 四轴笔记----无线透传模块|无线图传|遥控和接收机|无线数传
  4. Sql中TO_DAYS,DATE_SUB等时间函数介绍
  5. 我们应当怎样做需求分析:非功能需求
  6. 下载到的电子书格式是Mobi,这种格式能否在手机上打开?
  7. MySQL-V5.7 压缩包版安装教程
  8. 设计模式 -- 简单工厂模式
  9. PPT如何在投影不显示放映备注,在电脑上可以显示备注
  10. 成都梵羽汇:抖音任务中心如何操作呢?