c語言問題如下圖for迴圈中的迴圈條件就已經是

2021-03-04 00:12:44 字數 2794 閱讀 9710

1樓:sunny鞦韆墜

舉個例子

n=3第一遍迴圈 i=2,i<=2 執行抄bai if判斷...

第二遍迴圈du i=3 跳出迴圈

這個時候,

zhiidao素數

n=8第三遍迴圈 i=4,判斷if是true,跳出迴圈4<8所以8是素數

總結:在是素數情況下會迴圈到n-1,並且在i=n時結束,所以判斷i是否小於n

2樓:聽不清啊

這是因為如果沒有發生break退出;則退出時的i已經超過n-1,即i=n了。

所以在這裡用i

3樓:匿名使用者

for語句的迴圈體只包括他後面緊跟的那一條if語句,並不包括你說的if(i

4樓:匿名使用者

首先素數只能被1和他本身整除如果n為5迴圈結束,i就等於6在判斷if(i求採納

遇到c語言問題,輸入乙個數,for迴圈內if語句,條件不符合重新輸入。

5樓:匿名使用者

break本來就是跳出迴圈用的,換成break自然沒問題。當你輸入小於100時,你讓i= 0,但是你忘記了還要執行i++,所以,i依然會變成1。

6樓:匿名使用者

if裡面加continue結束本次迴圈,開始下一次

7樓:鍾晴董琪

你可以用while來實現迴圈輸入,沒必要用goto,這個語句已經不建議使用了,樓上的正解

c語言寫for迴圈時,要用break,假如break寫在if外面,但是寫在for迴圈內,結果程式出現未知錯誤??

8樓:聰明蛋呼啦啦

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

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

第二個**是錯的!

為什麼第二個是錯的呢?

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

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

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

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

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

break在if的作用域裡面

9樓:匿名使用者

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

break在if的作用域裡面

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

10樓:南風送夢

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

11樓:hacker儲

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

c語言問題,int i,n=0 for(i=2;i<5;i++) { do{ if(i%3)continue;n++; }while(!i)\\這裡!i是什麼意...

12樓:匿名使用者

//i=2,執行

來 continue跳出源do while迴圈,執行第8行操作n=1;再執

行第二次for迴圈i=3,if條件不成立,//執行第6行n++,n=2,再執行第8行操作n=3;i=4,執行 continue跳出do while迴圈,執行第8行操作n=4;i=5結束for迴圈。

13樓:天空天空天空空

!i即對i取反

bai,在while()中,如du果引數非0則視為zhi1,即真,則繼續執行迴圈dao體;如果

滿足內i為0時則執行(此容時!i=1),其他時候不執行 ;實際執行的時候,由於i一直不為0,則迴圈體只執行一次,然後立即跳出。

14樓:匿名使用者

!i表示邏輯運算非i,當i不等於0時,!i=0,i=0時,!i=1,是真值

不是死迴圈

15樓:

while(!i)的意思是: 當滿足i等於0時,執行迴圈體。

16樓:匿名使用者

!i是對i的否定,即若i不等於0則!i=0,若i等於0則!i=0。

17樓:匿名使用者

i為0 則 !i 為非0真 i不為0 則!i為假

18樓:匿名使用者

if(i%3)continue;去掉;就不死迴圈了

19樓:匿名使用者

那各位do while就變成死迴圈了呀,,,,

c語言關於for迴圈中使用scanf連續輸入的問題or no

include int main for i 0 i return 0 c語言迴圈中變數的輸入問題 include main printf no return 0 初學c語言,關於for迴圈中scanf函式應用的一點小疑問?你在輸入第二行按下回車之後,輸入的這行內容就被存在緩衝區裡,scanf就會按...

C語言中for迴圈中條件表示式的小於和小於等於問題

p編譯器試試就知道了 是小於號,是小於等於號,前者就是不能等於,而後者可以等於比如給a 10 賦值,寫成 for i 0 i 10 i 和for i 0 i 9 i 兩者只是表達方式不一樣,實際上都是一樣的,都是迴圈10次而你說那兩個,自然也是一樣的 結果是一樣的,但是意義不同!p a 10 可以等...

C語言 for迴圈輸出陣列的問題

include include typedef int elemtype typedef int status typedef struct lnode lnode,linklist 如果i小於1或者大於表長加1,則返回error if p j i 1 s linklist malloc sizeo...