在SWITCH語句中可以使用return關鍵字代替break關鍵字嗎

時間 2021-05-05 18:43:25

1樓:四捨**入

用return代替後結果要看使用switch語句的函式是什麼情況1、如果是void main函式 return,直接結束程式。

2、如果是int main 之類的 return 後需要加返回值,同樣直接結束函式。

3、如果是被呼叫的函式,return後面要接相應的返回值,然後跳出被呼叫的函式,繼續執行主函式。

2樓:華信

如果switch是放在函式的最後執行的話,是可以代替的。

因為 break 是結束switch語句,break是結束整個函式。

比如:int hanshu()

//break後程式從這裡繼續執行

if()

}//return 後函式程式就結束了

3樓:

可以 理論上switch函式中每個case語句最後都要加個break(原因是為了只執行乙個符合條件的case語句 然後就跳出switch)執行break後 跳出switch 繼續執行switch後的語句 如果用return代替 那麼就是跳出整個函式。

用return代替後結果要看使用switch語句的函式是什麼情況1)如果是void main函式 return 直接結束程式2)如果是int main 之類的 return 後需要加返回值 同樣直接結束函式

3)如果是被呼叫的函式,return後面要接相應的返回值 然後跳出被呼叫的函式,繼續執行主函式

4樓:匿名使用者

看情況,如果不需要跳出switch往下執行的話是可以的。

switch中return和break的作用一樣嗎?

5樓:娛樂小八卦啊

switch中return和break的作用是不一樣的。

break是直接退出switch語句,return是退出該函式,也就是switch語句塊後面的語句也不執行了。

使用break結束迴圈  break可以終止迴圈 和 switch語句的執行;break用於結束乙個迴圈,即跳出迴圈體,執行迴圈體之後的**。

return關鍵字不是專門用於結束迴圈,return的功能時結束乙個方法。當乙個方法遇到return語句時,這個方法將被結束。方法結束 , 執行權回到方法呼叫處。

擴充套件資料

switch是從上往下順序選擇,只執行乙個符合條件的case,如果有兩個符合條件的case,只執行最前面的乙個case,如果沒有符合的則什麼都不會執行。要跳出for迴圈,不能在switch裡面用break,這樣只會switch的迴圈,用goto,return都可以。

同理,在for} 這裡,也只會跳出裡面的for迴圈,外面的死迴圈不會跳出,要用goto,return來跳出,或者for break } 這樣,外面加多乙個break來跳出或者給break 得配合 for乙個標籤,標籤寫在 for 前一行。

6樓:

int f(int n)}

7樓:匿名使用者

錯。這樣寫是標準合法的。

因為很多編譯器不標準,對於retun語句只是記錄返回值,然後還要接下來執行。並且函式型別的不同(pascal,std,cdecl,fast等),編譯成彙編**後函式出口入口的語句都有很大差別。

所以推薦的寫法就是case裡面即使返回,也要break.否則有些編譯器就出錯。

你要是用bcb就知道,bcb就經常出現過這樣的錯誤,即使vc,我也遇到過除錯狀態下不用break會出錯的情況。

尤其是大型工程專案,語法必須標準,否則出錯很難查詢。

8樓:匿名使用者

不一樣,return是返回到指定的某個操作,break是從當前位置直接中斷所有

9樓:匿名使用者

return是結束整個程式

break是結束switch()

switch語句中,case後面的語句序列中一定要有break語句嗎?

10樓:匿名使用者

不一定的。

switch 語句一行接一行地執行(實際上是語句接語句)。開始時沒有**被執行。僅當乙個 case 語句中的值和 switch 表示式的值匹配時才開始執行語句,直到 switch 的程式段結束或者遇到第乙個 break 語句為止。

如果不在 case 的語句段最後寫上 break 的話,**將繼續執行下乙個 case 中的語句段,因此,break語句的新增需要根據程式的邏輯來選用,如果有需要程式執行連續執行符合條件的case中的**,則不應該新增break而使得程式結束跳出。

擴充套件資料:

switch語句規則:

1、只能針對基本資料型別中的整型型別使用switch,這些型別包括int、char等。對於其他型別,則必須使用if語句。

2、switch()的引數型別不能為實型 。

3、case標籤必須是常量表示式(constantexpression),如42或者'4'。

4、case標籤必須是惟一性的表示式;也就是說,不允許兩個case具有相同的值。

5、switch語句的語法如下(switch,case,break和default是關鍵字):

switch ( 變數表示式 )

11樓:匿名使用者

在 switch 語句中使用break語句將終止語句的序列。當遇到 break語句時,程式將整個 switch 語句後面的一行**處開始執行,就有一種跳出switch 語句的效果。

break 語句是可選的,如果省略掉break 語句程式將執行下一條 case ,如果你需要使用多條 case ,你可以不用沒有 break 語句。

switch 語句的使用在多選擇的時候要比 if else 執行效率要高。

12樓:匿名使用者

最好跟上。因為switch的工作原理,一旦發現匹配,就一直執行,不在判斷。

例int a=2

switch(a)

如若不加break,switch發現2匹配,首先執行printf("2");

然後再不判斷,

printf("3");

printf("4");

也執行了。這應該不是你的本意吧。所以最好每個case後面都加break。

13樓:匿名使用者

可以不有,那有幾個case就會執行幾個。舉個例子:switch(k),case1:

case2:case3假如有這3個case,如果沒有break,當k=1時,這三個都會執行,當每個都有break時,k=1時,case2, case3就不會執行。

14樓:匿名使用者

你知道break的意思嗎?如果沒有break,程式還會繼續走後面的判斷

關於switch語句case和default的執行順序

篤俠 為什麼執行完default還要執行case2 因為該分支中沒有break語句。 曖昧上帝 因為你default的後面沒有break語句,所以他會接著執行下面的語句。一般在使用switch語句的時候在每隔case結束後都要加上break避免錯誤,default通常也都是放在所有case語句後。 ...

C語言關於switch語句的問題

switch語句的規則是首先找到乙個匹配項,在此匹配項之下開始執行,直到遇到乙個break則返回,比如對於i 1,首先找到case 1 然後沒有看到break,繼續執行case 2 的語句,a 3,然後還是發現沒break,又執行default,使得a 8了,其他的i值以此類推會得到31這個結果 他...

C語言中switch語句什麼意思

小u自 switch在c語言中是保留字,其作用是進行判斷選擇。switch 開關語句 常和case break default一起使用。switch用在程式設計中,如c語言中它經常跟case一起使用,是乙個判斷選擇 其功能就是控制流程流轉的。直線翻譯 switch語句,即 切換 語句 case即 情...