c語言中的break與Continue有什麼區別

2021-10-17 04:53:03 字數 1536 閱讀 3247

1樓:隨楚郭璧

在c語言中,兩個跳出迴圈語句的語句break和continue。初學c,難免會混淆兩個語句之間的區別,導致程式某個區域性出現邏輯錯誤。以下是二者的區別:

continue只對直接包含它的迴圈體有效(也就是for,while,

而switch{}中的不算迴圈體);

break有效的是直接包含它的for,while,switch塊。

比如在不包含switch的****現break或者continue,那麼break跳出迴圈體,而continue跳出本次迴圈,而對於在迴圈中巢狀switch語句的**中,break僅跳出最內層的塊,這個塊若是switch,就僅跳出switch,而continue即使出現在switch塊中,因為continue的作用範圍僅針對

forwhile

之類的迴圈語句,故不起作用,依舊跳出本次迴圈,不注意的話也會認為同樣是跳出switch語句塊了。

2樓:虢同書邴風

大家實在太快了,呵呵,

給點參考意見好了:

break:用在迴圈中就是退出迴圈,不再執行以後的迴圈用在分支中就是不執行此分支塊的下面的語句

continue:迴圈時不執行本次迴圈continue後面的**,跳入執行下一次迴圈

3樓:樂正廷謙樓乙

給你舉個例子吧:

.......

sum=

0for(i

=0;i

<10;++i)

.......

結果為:sum

為0+1+3=4

迴圈計算累加和,放在sum中

過程如下:i從0開始迴圈,每次i++。當i

==2的時候,執行continue,跳過sum

+=i這句,繼續迴圈,也就是說,2並沒有加到sum中去。迴圈繼續,i變成3,執行sum+=i。然後發現i

==4了,於是執行break,跳出for迴圈,也就是說,break之後,i的值固定在4了,迴圈語句不再被執行了,sum

+=i這句也就不再被執行了。

break是直接跳出迴圈體,而continue是跳過迴圈體中餘下的語句(這裡為sum

+=i;)繼續執行迴圈。

除此之外,break還可以用在switch/case中,用來結束條件匹配,道理和在迴圈中一樣

4樓:羿利葉向酉

break可以離開當前switch、for、while的程式塊,並前進至程式塊後下一條語句,在switch中主要用來中斷下一個case的比較。在for、while與do

while中,主要用於中斷目前的迴圈執行。

continue的作用與break類似,主要用於迴圈,所不同的是break會結束程式塊的執行,而continue只會結束其之後程式塊的語句,並跳回迴圈程式塊的開頭繼續下一個迴圈,而不是離開迴圈。

5樓:閎微蘭僑歌

break是結束迴圈。

continue是結束本次迴圈。

迴圈是有很多次的,break之後不再迴圈,continue結束本次迴圈後,再開始下一次的迴圈。

c語言中與的區別C語言中與的區別

區別 1.運算子性質不同。是一個位運算子。是一個邏輯運算子。2.作用不同。是將兩個二進位制的數逐位相與,結果是相與之後的結果。就是判斷兩個表示式的真假性,只有兩個表示式同時為真才為真,有一個為假則為假,具有短路性質。3.用途限制。除了是一個位運算子,也是取地址符。就是一個單純的邏輯運算子,沒有任何其...

c語言中的char a,b strcpy a,b 與a b有什麼區別

strcpy是拷貝,從b地址開始取字元,一個一個複製到從a開始的地址上。最後你獲得了兩個相同字串,a和b分別指向兩個字串 a b,是修改a的地址,讓a指向b所在的位置。最後你只有一個字串,a和b都指向這個字串。char a,b 說明定義的是兩個char型指標變數 strcpy a,b 此處用法是錯誤...

c語言中作用C語言中作用

取決於在scanf中使用還是在printf中使用。在scanf中使用,則新增了 的部分會被忽略,不會被引數獲取。例如輸入為 12 abc那麼12將會讀取到變數a中,但是後面的abc將在讀取之後拋棄,不賦予任何變數 例如這裡的字元陣列b 在printf中使用,表示用後面的形參替代的位置,實現動態格式輸...