c語言寫for迴圈時要用break假如break寫在if外

2021-04-28 17:35:16 字數 3071 閱讀 4994

1樓:聰明蛋呼啦啦

首先要知道:break只要寫到迴圈裡面,無論在迴圈裡面的什麼位置,都沒有問題!

你有沒有發內現,你第一個代容碼是對的!

第二個**是錯的!

為什麼第二個是錯的呢?

因為,你的break寫到if外面去了,也就是說,這種情況下,迴圈永遠只執行一遍!因為,只要進迴圈,無論if的條件如何,break必執行到!無論輸入的數是否為素數,都不再進行迴圈判斷!

如果寫到if裡面,只有if條件成立,才跳出迴圈!即,只有為素數時,才跳出迴圈!

第二個**,每次執行了for之後,都會執行break,自然就跳出了迴圈,而i的值又沒有大於n,下一個if無法進入,所以沒有輸出。這是程式邏輯上的問題,不是break的問題。break只跳出最近的一層迴圈

break只跳出最近的一層迴圈, 你的程式裡面只有一層迴圈

你第一個程式,是判斷到數可以被 > 2 且 < n的數整除,就跳出迴圈,所以是對的

break在if的作用域裡面

2樓:匿名使用者

break只跳出最近的一層迴圈, 你的程式裡面只有一層迴圈你第一個程式,是判斷到數可以回被 > 2 且答< n的數整除,就跳出迴圈,所以是對的

break在if的作用域裡面

第二個程式,無論什麼情況,都跳出迴圈,所以是不對的

3樓:南風送夢

第二個**,每次執行了for之後,都會執行break,自然就跳出了迴圈,而i的值又沒有大於n,下一回個if無法進入,所以沒答有輸出。這是程式邏輯上的問題,不是break的問題。break只跳出最近的一層迴圈

4樓:hacker儲

第一個程式的break只有在if語句的條件成立時才會執行,而第二個程式的break不管怎樣都會被執行。

c語言:break語句和if語句在for迴圈中的使用問題?

5樓:汗耕順閔凰

是的,break只跳出迴圈2,判斷條件還執行。你這個程式本來就不對。

你可以在break之前加個標誌,比如定義一個boolbflag;

在數位分解之前bflag

=false;

在break之前bflag

=true;

在判斷條件之前再加個if

(!bflag

&&a1+a4==a2+a3)

6樓:衷玉芬達燕

不會執行,原因是兩層for迴圈,break跳出了裡層的迴圈,這時候會跳轉到第一個迴圈那邊。

第二個if判斷語句屬於第一個迴圈,而不是第二個迴圈,第二個迴圈只包括一個if語句和break。

7樓:戰玉蘭菅羅

例中break語句應該只是跳出了for迴圈2,break語句執行後下面的if判斷條件語句是否繼續執行

繼續執行

c語言問題,for語句中巢狀if語句,然後if後加一個break,如果條件為真,執行break,那麼為假的話怎麼返回 5

8樓:非常布穀

為假的話就不執行if語句中的break語句,而是繼續進行下一輪的for迴圈。如此,直到if語句為真了,然後執行其內部的break;或者是因for迴圈中的條件不再滿足了而終止for迴圈了。

9樓:

最後k=5,for迴圈只進行了5次,使fort迴圈退出的條件是因為x在第5次迴圈中已經等於10,那麼;k

10樓:

for( ;條件; )

}不知道你的返回是什麼意思。

11樓:小帆向前衝

為真break,為假為什麼一定要返回?

12樓:打鐵佬

改為if後加一個continue試試

一個for迴圈中有一個if語句,當滿足if的判斷條件時,會執行break,這個時候是繼續執行for

13樓:

break是結束整個迴圈體,根據你的描述應該整個迴圈都退出;拓展一下,如果你用的continue就是結束單次迴圈,只會退出if,然後繼續進行for的迴圈!望採納

14樓:小文

for語句

來與if語句:

兩個if沒有什麼關係源,順次做。無論第一bai個if的條件成立du不成立,都要zhi執行第二個if。

for每迴圈一次,兩dao個if語句都要做一次。

for跟的那個語句塊大括號是第一個左大括號和末尾的右大括號,所以for每次都要把兩個if執行一次。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

15樓:匿名使用者

break是跳出迴圈

contiune 才是跳出單次迴圈

16樓:天雨下凡

當然是跳出for迴圈

17樓:crazy丶清水

首先,break 和continue 都是跳出頂層迴圈。 也就是在一個頂層迴圈或者判斷內部中的 if 或者循專環語句內部,一旦使用了這兩個

屬,都將不在再繼續執行下面的內容,而是跳出了整個迴圈。區別是,break 跳出迴圈後不再次進入迴圈,continue 是可以再次進入迴圈的。 如果你想跳出當前最小迴圈,那麼應該在判斷語句中,要不就進入,要不就不進入。

c語言 在for迴圈中用break或continue跳出迴圈後 還執行增量表示式嗎

18樓:匿名使用者

break跳出迴圈,不再執行迴圈內的任何語句

continue執行下一次迴圈,執行for裡面的增量表示式

19樓:春雨_潤物

break不執行

continue執行

C語言的for迴圈語句,C語言中迴圈語句有哪些?

呵呵,是可以執行的。for rooster 0 rooster 100 rooster for hen 0 hen 100 hen for chick 0 chick 因為只有到這裡才有分號。用 是在多個分號出現的語句中。for while if 等語言語法中都有 若有多條語句必須用 擴起來 的有效...

C語言程式設計迴圈結構,C語言程式設計題 迴圈結構,非常感謝

回答親您好,您的問題我已經看到啦,我需要幾分鐘來為您整理優質的答案希望您能耐心等待 希望回答完您可以給個贊哦!祝您生活愉快 語言中提供四種迴圈,即goto迴圈 while迴圈 do while迴圈和for迴圈。四種迴圈可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto迴圈,因...

學習c語言要用到哪些軟體呢,學習C語言要用到哪些軟體呢?

如果說只是學習語法知識,理解c c 程式設計精要的話,感覺vc太大了,gcc比較適合,而且對標準的支援也好。在linux下gcc是不二的選擇。下面說說windows下。原來選擇的是devcpp,安裝後只有58m左右,用起來基本合適,debugging也不錯。現在選用devcpp裡面自帶的gcc做編譯...