1樓:暢凌文佔易
case後面必須跟常數表示式,不能使用邏輯判斷條件。不過你可以把多個case放在一起用,例如
case
1:case
2:case
3:執行操作
break;
2樓:霜丹秋興寧
上面的寫法本身就有問題,要想用乙個語句處理多種case可以這樣寫:switch(a)
而對於提問者的寫法,機器是這樣理解的:假設a=0,那麼由於表示式
1<=a&&a<=3是乙個bool表示式,所以當a=0時,該bool表示式是1<=a&&a<=3的值為「假」,在c語言中就是0,正好與a的只相同,所以程式會執行這個case語句後面的**,很明顯這與提問者的本意是矛盾的;因此要想用乙個語句處理多個case只能按照剛才給出的事例**那樣寫。
3樓:黨青雪杞逸
乙個case裡面再巢狀if語句就行了。case1<=a&&a<=3:這是不行的。
case後必須跟乙個確切的數值,所以大多數情況下大家都是用幾個if語句並列使用,case不是很有用。如果你想讓a=1,2,3的時候達到同乙個結果,可以case
1:case
2:case
3:……;break;這樣就行了。
c++中如何讓乙個case包含多種情況
4樓:匿名使用者
乙個case裡面再巢狀if語句就行了。case 1<=a&&a<=3:這是不行的。
case後必須跟乙個確切的數值,所以大多數情況下大家都是用幾個if語句並列使用,case不是很有用。如果你想讓a=1,2,3的時候達到同乙個結果,可以case 1:case 2:
case 3:……;break;這樣就行了。
5樓:匿名使用者
case後面必須跟常數表示式,不能使用邏輯判斷條件。不過你可以把多個case放在一起用,例如
case 1:
case 2:
case 3:
執行操作
break;
6樓:匿名使用者
上面的寫法本身就有問題,要想用乙個語句處理多種case可以這樣寫:switch(a) 而對於提問者的寫法,機器是這樣理解的:假設a=0,那麼由於表示式 1<=a&&a<=3是乙個bool表示式,所以當a=0時,該bool表示式是1<=a&&a<=3的值為「假」,在c語言中就是0,正好與a的只相同,所以程式會執行這個case語句後面的**,很明顯這與提問者的本意是矛盾的;因此要想用乙個語句處理多個case只能按照剛才給出的事例**那樣寫。
c++中 switch語句的各個case分支可以有多條語句,舉例說明什麼是多條語句
7樓:匿名使用者
switch語句的各個case分支可以有多條語句,應該是指兩方面:一方面是指switch後面可以跟多個case...語句,另外一內方面,指每個case中,容可以是乙個多行語句構成的復合**,而不是僅僅能夠寫一行**。
例如:switch(n)
8樓:匿名使用者
樓上已經說得很好了
case遇見break就跳出,否則一直往下執行
9樓:匿名使用者
對不同的分數斷輸出不同提
示資訊,改用switch語句來實現。
main()}
c++case語句中有兩個情況,即case1和case2,每個情況有乙個for迴圈,怎麼把兩
10樓:匿名使用者
如果迴圈寫的一模一樣還好說,不一樣就不太好弄了:
switch(something)
break;}
11樓:匿名使用者
把**貼上吧,我覺得能合併的可能性不大。
在c++中使用switch 如果case 1,case 2,case 3執行的動作一模一樣,case 4和以上三種情況不一樣
12樓:it孤鶩
這樣就可以了
case 1:
case 2:
case 3: fun();break;
因為case 後面只能跟整數 ,
所以只有上面那專樣寫,case 1,case 2 可以不實現,case 實現功能就可屬以了
簡單測試例子
#include
void main()}
13樓:匿名使用者
在復c++中使用switch,如果case 1,case 2,case3執行的制動作一模一樣,case 4和以上三種情況不一樣,那麼我們可以這樣寫**:
switch(表示式){
case 值1:;
case 值2:;
case 值3:執行動作語句 break;
case 值4:執行動作語句 break ;
...default : 執行動作語句 break;
}也就是case 1,case 2後面跟空語句,不必使用break。關鍵字break表示結束switch語句。當switch後面的表示式匹配某個case後面的值時,就會從那行語句開始往下依次執行,直到碰見break結束。
因此,當表示式的值等於值1,值2或者值3時,都會執行值3後面的動作語句。
這樣子做的好處就是可以減少**書寫量。
14樓:庚琰
switch()
15樓:匿名使用者
case 1:
case 2:
case 3: fun();break;
c/c++中的switch case 語句是怎樣的乙個執行過程
16樓:匿名使用者
c語言中switch語句中bai
,只要不出現break,所有du滿足條件的,都會zhi將結果輸出。dao舉例如下:
switch(i)
17樓:匿名使用者
關鍵點在你的break那裡,如果不加的話,當i=1時,他會執行到i=2那一行才結束的,還有一種是最惡搞的goto語句,一般都很坑人的,你可以試試
18樓:哎呀
基本bai等效於if-elseif-else,在實質上,也du就是zhi說,**譯成機器dao二進碼後,也許根本就沒有不
內同。容
c語言的很多語句都是可以代用和換用的,之所以有多種寫法,那只是為了程式設計師方便,也為了**的可讀性和可查對校正性。
就象我們生活中,對某事的描述可以用不同的詞句一樣。
事實上switch case就是對多分支的條件判斷進行的方便性的寫法。
19樓:匿名使用者
你理解的是正確的,switch case語句完全可以用if else語句來替換掉;但是當比較較多 或者很多回其他控制流答程的時候,switch語句 的可讀性比if else語句高的多;另外注意的就是 一般情況下每乙個case 之後都要跟乙個break; 其目的是為了跳出switch語句塊去執行switch後邊的語句;但是實際專案中多出現這種情況
switch(i)
類似於上邊的這種邏輯 如果用if else語句控制起來就會很麻煩,且可讀性太差,而用switch語句就更加簡潔直觀,可讀性也更強
20樓:***x櫻
是的,就是你說的那樣比較
這個比if看起來更直觀,可讀性也更強,尤其是情況比較多的時候
C 中如何讓case包含多種情況
乙個case裡面再巢狀if語句就行了。case 1 a a 3 這是不行的。case後必須跟乙個確切的數值,所以大多數情況下大家都是用幾個if語句並列使用,case不是很有用。如果你想讓a 1,2,3的時候達到同乙個結果,可以case 1 case 2 case 3 break 這樣就行了。 cas...
C 中關於case中for迴圈的問題
這是由於vc 和標準不一致造成的,我們來考察程式中那個for語句中的i的作用域,按照標準,在for的初始化部分宣告的變數作用域應該在for中,而vc 把這個變數的作用域擴充套件到for所在的層次,就是說在for之後也是可以使用的,那麼按照去掉大括號的程式,i的作用域是從宣告之處到switch的大括號...
c語言巨集定義中可以檔案包含另c源程式嗎
吉祥二進位制 c語言檔案包含的預處理命令是 include。從純粹的文字檔案來說,include的作用就是搜尋它後面指示的檔案,並把這個檔案的內容加到當前的檔案中。一般程式設計時,都是包含一些與.h為字尾的標頭檔案,但是它可以包含任何字尾的任何形式的text檔案的,而不僅僅是.h為字尾的標頭檔案,也...