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中使用,表示用後面的形參替代的位置,實現動態格式輸...