民歌,C - Tricky Switch Case工作..!
最近開始學習C.
卡住了一點。它關於switch-case語句的工作。
下面的代碼:
#include<stdio.h>
int main() {
int i=4;
switch(i) {
default :
printf("%s","Default");
case 0:
printf("%s","Case 0");
case 1:
printf("%s","Case 1");
case 2:
printf("%s","Case 2");
return 0;
}
}
我個人認爲,「Default
」應打印,因爲它不與任何情況下的值相匹配。
但是,當我在Turbo C的運行代碼,我觀察到的是這樣的:
Default
Case 0
Case 1
Case 2
即使在這裏觀察到相同的:http://www.ideone.com/pFh1d
問題是什麼?這是編譯器問題或我的代碼中的任何錯誤?
編輯:
PS:錯這有什麼,如果在所有我必須先寫默認情況。有什麼傷害?
但是,一旦編譯器知道它必須執行默認語句,爲什麼我們需要在默認情況下的語句之後放置一個break語句?
你的休息地點在哪裏?聲明? – 2011-04-25 07:33:47
它是否預計每個病例會中斷? – 2011-04-25 07:34:54
它不會但它會執行匹配的所有情況,直到它移出或發現中斷 – 2011-04-25 07:40:45