continue和break語句的區別

2022-04-01 15:42:07 字數 1317 閱讀 4957

continue

1、結束本次迴圈,繼續下次迴圈,並且進行條件判斷;

2、不可作用於switch語句。當在switch中使用,這個continue實際是作用於其所屬的迴圈結構;若它不屬於任何乙個迴圈,程式將因此報錯!

break

1、結束本次迴圈,並停止下次迴圈條件判斷;

2、可以作用於switch語句。開關語句中,執行switch語句之後的**。

1. continue

continue 可用於 c 提供的全部三種迴圈結構。continue 會致使迴圈跳過迴圈體中餘下的語句,轉而判斷迴圈條件是否仍然成立,然後選擇是否再次進入迴圈體。如果 continue 位於迴圈巢狀中的乙個內迴圈,則其僅能影響該內迴圈的執**況,而不會對外迴圈造成任何影響。例如:

#include<stdio.h>

int main(void)

for ( j = 1, total = 0; j <= i; ++j )

++total;

}printf("total: %d\n", total);

} while ( i ) ; 

}我們先來分析一下內迴圈。假設使用者輸入的是 5,則內迴圈的前四次迴圈中,j % 5 都為真,然後執行 continue; 跳過迴圈體中餘下的語句,直接執行 ++j,繼而判斷 j <= i 的真假性,從而選擇是否再次進入迴圈體。本內迴圈中,因為 continue 的關係,前四次迴圈 ++total; 都會被跳過。第五次迴圈 j % 5 為假,不會執行 continue; ,++total; 終於得以被執行。

外迴圈中,假設使用者輸入 0,則 i == 0 為真,continue; 得以被執行,因此跳到 while ( i ),因為 i 為假,故外迴圈結束。如下圖所示:

請注意,本例中的內迴圈完全是出於演示目的才用 continue 的,這使**複雜化了,有違 continue 的初衷。continue 是為了簡化**而生的!本例中的內迴圈如果不使用 continue,**將會更簡單:

for ( j = 1, total = 0; j <= i; ++j ) }

記住,continue 是為了簡化**而生的!使用前請斟酌使用它是否能簡化**,如果不能,則不要用。

其實本例中的外迴圈也可以不用 continue。以下**沒有使用 continue,但其功能和上面使用 continue 的那段**完全一樣。

doelse }

printf("total: %d\n", total);

}

C語言 break語句和continue語句

案例 不停列印小於100的隨機整數,直到隨機整數等於50 案例 不停列印小於100的隨機整數,直到隨機整數等於50 main while num 50 為了使迴圈控制更加靈活,語言提供了break語句和continue語句。1 一般格式 break continue 2 功能 1 break 強行結...

JS裡break語句與continue語句的區別

總的來說,break是終止當前迴圈 continue是結束本次迴圈,後面的迴圈是會繼續執行的。例 for let i 1 i 10 i console.log i 當執行continue時,輸出的結果為1,2,3,4,6,7,8,9 for let i 1 i 10 i console.log i ...

break 和Continue 誤大事

寫了乙個演算法 根據tablename表中是否存在 裝置所屬型別和裝置id判斷是否存在該裝置 存在返回true public boolean i istequipment string equipmentid,string tablename boolean i ist false string s...