C語言中的switch case比較

2021-07-25 19:49:08 字數 432 閱讀 6720

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...