CSDN博客

img a1dao

使用switch的注意

发表于2004/10/15 15:16:00  1077人阅读

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>>]
阅读全文
0 0

相关文章推荐

img
取 消
img