switch case 在比較時是將switch的變數和case的變數都轉換成int進行比較。直觀點的話看下面**。
#include
int func(char i)
switch (i)
}int main(int argc, const
char * argv)
else
return
0;}
可以猜一下,輸出是什麼
在vs 2010/xcode上輸出為miss,其實應該也會與具體編譯器實現有關,但是大多數實現都是將switch 的變數和case變數都轉換成int進行比較
func傳入的引數0x82,因為是char型別,所以i是乙個負數,轉換成int型之後依然是乙個負數,而原本func函式中的0x82則是乙個正數,故比較時會不相等,故返回值是0.
C語言中switch case使用
include include includeint main system pause 1.在c中,case和default只是作為乙個入口使用,default最後判定,意思是當所有case 條件均不滿足時,執行default,前提是沒有使用break 中斷 2.例如輸入b 1時,執行case1,...
C語言中的switch case 語句
1 switch case 語句的學習 當事件的選擇大於或等於4種的時候就用switch case語句 switch 表示式 1 將表示式的值與case後面常量n的值進行比較,與那個值相等,就進入那條語句體,執行完後,由於有break語句,則退出switch語句 例 表示式2,則執行case 2 b...
C語言中關於switch case語句
1 case 後面必須是乙個整數,或者是結果為整數的表示式,但不能包含任何變數。請看下面的例子 1.case10 printf break 正確 2.case8 9 printf break 正確 3.case a printf break 正確,字元和整數可以相互轉換 4.case a 19 pr...