使用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>>]
發佈了20 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章