c語言的switchcase語句的case常量能匹配字串

2021-03-27 18:19:36 字數 1853 閱讀 2683

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