1樓:匿名使用者
c語言的switch case 語句的case不能匹配字串常量,只能匹配整型類常量,如int short long char.
switch用法格式:
switch ( 表示式)
說明:break 表示退出
case後面只能跟一個值(加冒號:),而不能是一個表示式switch(表示式) 後面沒有分號(;){}前後沒有分號(;)
default語句可以出現在任何位置,但建議寫到最後,表示除去case匹配之外的其它情況。也可以沒有default語句
2樓:9號豬頭
不可以匹配字串長量的.最大可以匹配一個int型的變數或常量.
switch 裡面一般是填變數名.
大概是這樣
int a;
switch(a)
3樓:寺地雅心
應該是不可以的。
但是你可以多增加一步,在swich前呼叫***pare函式,比較你得到的字串和你的case中的字串,得到-1,0,1再進行swich。
不過我想這樣應該不會方便,還不如用if...else if...else來的快哦!
swich語句的侷限性還是蠻大的,處理這種複雜資料、複雜邏輯的時候最好用if~
c語言switch語句中case後面必須要接整型常量和字元型常量嗎
4樓:文化廚子
是的,case語句來
後面的必須是整型常
源量!整型常量有多種,比如int、char、enum列舉常量,在c++中bool型別也屬於整型常量的一種。
//一般switch語句使用此種格式
switch(表示式)
switch是一個整型表示式。case是一個整數常量表示式。只所以不能使用浮點數,個人理解應該是浮點數的精度問題不容易把握,在一定誤差內可能出現多個匹配,而且浮點數對硬體依賴要求比較高,**可移植性可能會更低。
5樓:匿名使用者
只能針對基本資料型別使用switch,這些型別包括int、char等
這個是使用switch的要求哦
c 語言中,swich case 語句中,case 後面只能跟常量表示式麼?能不能跟邏輯表示式?
6樓:匿名使用者
準確的說case後面跟來的源是一個確定的值,由於常量表示式也好,邏輯表示式(在c語言中邏輯表示式的值只有兩種而且是整形數值1或者0)也好都是返回的一個確定的值。因此switch case語句中case後可以跟邏輯表示式。(注:
剛剛我試了一下,確實可以)
7樓:匿名使用者
switch 只能跟確定的值,而且只能是整形,字元型這些
8樓:匿名使用者
可以。常量表示式是指確定的數值。而邏輯表示式的結果只有1和0。
上機檢驗一
版下就知道了。
int x,y;
scanf("%d",&x);
switch(x)
printf("y=%d\n",y);
正常執行權。
9樓:匿名使用者
能,只要注意加花括號{}就行,像這樣case 1:;break;
c語言中switch語句中case後面的常量表示式是什麼?
10樓:
switch後面那個變數等於這個常量時,就執行case後的語句
11樓:匿名使用者
變數等於常量時就執行,但是執行之後沒有跳出去的話會連帶著下面的方案一起執行。
c語言switchcase語句中呼叫函式求改錯十萬火急
include void main c語言中,如何在switch case後面呼叫函式,一共5個case,都要用函式的呼叫 include void test1 void test2 void test3 void test4 void test5 int main return 0 c語言中,怎樣...
c語言switch case中的case1,case2,其中的1 2這些數學意思是
給你舉個例子吧 switch xyz switch case語句的執行順序是,將變數xyz的值與各個case逐個進行比較。當變數xyz的值是0時,執行dotaskzero 並退出switch case語句體 當變數xyz的值不是0 而是1時,執行dotaskone 並退出switch case語句體...
C語言問題if語句巢狀C語言中三個if語句的巢狀怎理解
要點是1 if與else的成對關係依照就近原則2 if與else的成對關係遇到花括號時,就近原則找相成對花括號3 區域性 塊一定要加括號 if a 1 if b 1 printf yes n a 1且b 1時執行else printf no n a 1且b 1時執行 用括號括起來更容易理解 if a...