int i i 0 while i 0 i 為什麼迴圈一次也不執行

2025-07-16 21:45:15 字數 3991 閱讀 6648

1樓:風暴咆哮

迴圈了一次,值為1了就不執行了。

2樓:雨寅

犯低階錯誤了,應該是while(i==1),i=1是賦值了。

i=0;while(i=1)i++;迴圈多少次?

3樓:網友

無限迴圈。。。i=1是乙個賦值語句。。不是判斷。

如果改成i==1的話。。就迴圈0次。

4樓:

當然是迴圈無次呀!因為while中條件為(i=1)也就是說永遠是true,不會跳出迴圈。

5樓:匿名使用者

死迴圈。while條件語句中,你給i賦值為1,這個條件永遠為真,因此迴圈就變成死迴圈了。

int x=0,i=0; while(!x&&i<3) {x++;i++} 迴圈一共執行幾次,!x在這裡的意思

6樓:千島j玉葉

只執行一次。

x表示是x的非,也就是真變為假,假變為真,首先,x=0,也就是邏輯上的假,那!x就是真了。然後執行一次,x就為1,i為1了,再判斷條件不滿足,就結束了。

所以只執行一次。

7樓:網友

源程式有些小的語法錯誤。改正後的解釋為:

x是非x。初始值:x=0,i=0;。

第一次:!x為真,i<3為真。執行迴圈:x++;x為1,i++;i為1.

第二次:!x為假。while括號裡為假,不執行迴圈。

所以迴圈只執行1次。迴圈過後x=1,i=1.

8樓:

1次,當x為0(假),!x是真,迴圈1次;當x++後(不為0),!x為假,整個括號的內容為假,跳出迴圈。

9樓:風z使者

1次吧!x的意思就是非x,如果x是非0的內容(也就是真的內容),則!x就是假。

以下程式段中,while迴圈次數是—?int i=0;while(i<10){if(i<1) continue; if(i==5) break; i++;}

10樓:匿名使用者

int i=0;while(i<10)確實是死迴圈,if(i<1) continue; 在這一步就跳出此次迴圈了,無法執行i++ 只要一直滿足 0<1,就會無限迴圈下去。

11樓:匿名使用者

無限迴圈 執行到continue跳出此次迴圈 執行下一次迴圈 所以下面的 i++沒執行到 i始終是0

12樓:匿名使用者

無限迴圈,i=0時,continue;i的值一直為0,沒變。

for(i=0,k=-1;k=1;i++,k++)printf("*");是無限迴圈還是一次也不執行?

13樓:網友

一定是無線迴圈的,你這邊的條件k=1是乙個賦值語句,永遠是對的,因此會無線迴圈下去。

當條件k=1時,是無限迴圈;

當條件k==1時,是一次也不執行。

14樓:網友

無限迴圈,迴圈的條件是 k=1,這裡是k等於1而不是k==1如果等於返回乙個k的值為1 .1為真,所以迴圈無休止。

c語言中:int i=0;執行語句while(i++<4)後;i的值是5而不是4,為什麼?

15樓:符玉蓉亥月

這道題的關鍵是i++與++i的區別,i++是先以i的值作為整個表示式的值,即i++=4,然後i自加1

i則是先以i+1作為該表示式的值,i也就是i+1的值。

具體點,該題可以這樣分析:

ii++while(i++<4)00

ture11

ture22

ture33

ture44

false5所以你此時輸出的i=5

16樓:網友

i++是先運算後自加,也就是說在i為3的時候,首先判斷i<4,然後i進行自加變成4.然後執行while內部,然後在進行判斷,這時候i為<4為假。但是還要執行自加操作就是5了。

17樓:彬彬有禮

先取i值判斷,再i自增,無論條件是否成立,自增總是在判斷之後做了,所以當i值為4條件不現滿足時,繼續做了最後乙個i自增,於是i 在迴圈體之外時是5了。

18樓:匿名使用者

while(i++<4) //當i=4時,i++<4不成立,判斷後,i=5。

printf("%d",i); //這兒當然是輸出5了。

19樓:網友

你要明白 i++是後加 是判斷完後 再次加一 原來 i++是4 之後i就變成5了。

20樓:網友

i++與++i的區別,i++是執行完比較後將i+1,++i是先將i+1,然後將新數進行比較。

j**a迴圈結構:求下列迴圈體重複多少次? int i=1; while(i<10) if((i++)%2==0) system.out.println(i);

21樓:網友

你好, 你可以把你的**修改如下,就可以求出迴圈了多少次int i=1,count = 0; //count是計數的變數while(i<10)

迴圈體重複的次數:"+count);

我測試的結果是重複了9次。

22樓:網友

程式總共會執行17次,其中(i++)2==0 符合這個條件的有9次。

若有定義int i=1;則執行完迴圈while(i++<5)以後i的值為多少?請大神詳細說明程式執行

23樓:匿名使用者

當條件不滿足時他退出了迴圈,但是i的值還是改變了,只是迴圈內沒有輸出而已。

24樓:人生若夢多好

執行完之後,i的值為5.

因為,()即括號是乙個順序點,在乙個順序點進行完之後,語句的***就完成了。i++<5的***就是將i的值增加1.

i++<5,即條件最後一次為真時i的值為4.但是,i++這個表示式先使用i的值,後執行語句。所以,當i為4 時,編譯器先將i的值即4與5比較,執行了一次迴圈,執行完括號中的語句,***就產生了,即將i的值加1.

所以i為5。編譯器將i的值與5比較,不符合條件,所以不再執行while迴圈。

對了,是6.就是順序點的問題。雖然條件為假,但是進行了比較。只是沒有執行while迴圈。但是括號中的***還是產生了。sorry。

25樓:網友

i會變成6。

因為 i++ 執行完後,會返回 i 在執行自加操作之前的乙個值。

比如在 i=5時,i++ 5執行時 i 返回的是5(但實際上 i 已經變成了6),則比較的結果就會是5 < 5,為假,這時就退出迴圈了。

26樓:網友

i++ 你可以理解為這樣。

temp=i;

i++;return temp;

懂不?這也是後置運算子過載的思路。

27樓:網友

最後i為6

最後一次迴圈是5++<5,判斷完了跳出迴圈,然後執行自加,所以等於6

28樓:網友

5,只要i++<5都會執行迴圈,第一次迴圈i++==2,第二次i++=3,第三次i++=4,第四次i++==5不符合條件不執行。

29樓:小草

++的優先順序高於《所以先算i++,表示要先用i進行計算然後再自增,第一次i=1<5滿足條件,然後i=2,剩下的自己考慮吧。

30樓:跟神聊天的人

你語句不完整,若加一句i=i++

31樓:網友

結果是5,i++<5的條件比較的是 i和5,共執行四次加加操作。

C語言中i 0 a i0 i是什麼意思?特別a i0是什麼意思

i 是先引用i的值,然後i自加1 0 是字串結束符 a貌似是個函式,i作為引數處理 0 是一個字元,一般作為判斷字串是否結束使用 i 0表示i從0開始和後面的i 相聯絡 即表示為i從0開始一次加1 i 的意思是i 1 0表示 空操作字元 其ascll碼為0所以a i 0 則表示為a i 此時的值的a...

mainint s,i for s 0,i 1,i3 is iprintfd n ,s請問輸出結果是什麼,還有原因哦

輸出是copy5。因為s初值是0,而s i在i 之後,所以循bai環過程是 dui 1和i 2,但加到s上的是2和3,所以zhi最後得s是5。不過for的 中有錯誤dao,i 1後應該是分號而不是逗號,否則編譯都過不了的 你好,你的程式有點亂,我稍微修改了下,程式最後輸出結果為 3 include ...

當指數為0時,底數可以是0嗎,分子為0時,分母可以為0嗎

不可以,因為任何不是0的數的0次方才是1 0在任何時候都不能作為底數 指數不可以為零,這種假設不存在 分子為0時,分母可以為0嗎 分母任何時候都不能是0,跟除法式子中的除數不能是零一個道理。指數函式的底數的取值範圍為什麼要規定為a 0且a不 1,當指數為0時,底的取值範圍是多少 i 假設a 0,那麼...