switch中return和break的作用一樣嗎

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

1樓:娛樂小八卦啊

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 前一行。

2樓:

int f(int n)}

3樓:匿名使用者

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

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

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

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

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

4樓:匿名使用者

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

5樓:匿名使用者

return是結束整個程式

break是結束switch()

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

6樓:四舍**入

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

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

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

7樓:華信

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

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

比如:int hanshu()

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

if()

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

8樓:

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

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

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

9樓:匿名使用者

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

switch-case 語句裡面有return了 break還起作用嗎

10樓:聽不清啊

switch-case 語句裡面有return了,如果執行時遇到了return,那 break 就不起作用了;反之,如果先遇到break,那麼break還是起作用的。

總之,遇到哪個語句,就起作用。(當然,return 只起一次作用,如果是在迴圈中的

switch-case,遇到 break 則還有下次機會)

在switch多分支語句中,break語句有什麼作用

11樓:千鋒教育

break語句

通常用在迴圈語句和開關語句中。當break用於開關語句switch中時,可使程式跳出switch而執行switch以後的語句;如果沒有break語句,則會從滿足條件的地方(即與switch(表示式)括號中表示式匹配的case)開始執行,直到switch結構結束。

當break語句用於do-while、for、while迴圈語句中時,可使程式終止迴圈。而執行迴圈後面的語句,通常break語句總是與if語句聯在一起。即滿足條件時便跳出迴圈。

示例:在vc6.0中編譯通過

#include

int main()

return 0;

}注意:

1. break語句對if-else的條件語句不起作用。

2. 在多層迴圈中,一個break語句只向外跳一層。

12樓:匿名使用者

跳出所有的case判斷,直接執行switch後面的語句

請問如何在EXCEL中在B表中按姓名和備註中的某符精確匹配並複製到A表中的對應列

yq楊 excel中精確匹配到另一個表中可以用vlookup函式查詢引用資料到第一張表中做一個輔助列,最後再複製到a表中的對應裡中。在a表中的輔助列裡輸入公式,並向下填充,如下 最後再把結果複製貼上為值到a列中去。vlookup一共有四個引數 1 查詢值,a表的姓名 2 被查詢的資料區域,b表的姓名...

鉛筆中“B”與“H 是什麼意思,鉛筆上印有H和B是什麼意思

次巧荷阮運 石墨鉛芯的硬度標誌,一般用 h 表示硬質鉛筆,b 表示軟質鉛筆,hb 表示軟硬適中的鉛筆,f 表示硬度在hb和h之間的鉛筆。石墨鉛筆共分 6b 5b 4b 3b 2b b hb f h 2h 3h 4h 5h 6h 7h 8h 9h 10h等18個硬度等級,字母前面的數字愈大,分別表明愈...

請問干擾素中的1b和2b有什麼區別

干擾素蛋白質的氨基酸結構 抗原性和細胞 分為 ifn ifn ifn ifn 屬於ifn 家族,結構和大小與其它ifn 稍有差異,但抗原性有較大的不同。1b 與 2b 是指干擾素 的不同亞型。1b產生的 更小一些。干擾素a1b和a2b有什麼區別 a1b是1型干擾素,a2b是2型干擾素,又稱重組干擾素...