使用switch的注意

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>>]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值