該例子說明幾個問題
1. switch的用法: (1) 所用case後面的常量表達式,為便於描述我們稱之為標簽。這些標簽 都只能是 ①枚舉常量 ②數值常量 ③字符常量 ④常變量 ⑤宏名 中的一種, 注意:普通變量、枚舉變量是不能作為標簽使用的。 (2) switch後面括號裡的“表達式”可以是任何類型。 但是,vc++中只允許為int和char類型。 (3) 執行完一個case語句後,流程控制就轉移到下一個case語句繼續執行。 "case 常量表達式" 只起語句標號的作用,在執行switch語句時, 根據switch()中表達式的值找到與之匹配的case子句, 就從此case子句開始執行下去,不再進行判斷。 (4) switch是選擇不是循環,如果switch中出現了break語句。該語句的功能只是 退出switch語句,轉去執行它下面的語句。在switch中出現continue是錯誤的, 除非switch本身就屬於for或whlie循環的一部分。 2. break的用法:參見break和continue的用法。 原文:C語言大綱-郝斌/********************************************************************* 3 Press any key to continue  #include <stdio.h>
int main(void){ int c = 0, k;
for (k = 1; k < 3; k++) { switch (k) { default : c += k; case 2 : c++; break; case 4 : c += 2; break; } } printf("%d\n", c);
return 0;}