若有定義int i 1則執行完迴圈while i5 以後i的值為多少?請大神詳細說明程式執行

時間 2021-10-17 05:11:04

1樓:匿名使用者

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

2樓:人生若夢多好

執行完之後,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。

3樓:匿名使用者

i會變成6。

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

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

4樓:匿名使用者

i++ 你可以理解為這樣

temp=i;

i++;

return temp;

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

5樓:匿名使用者

最後i為6

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

6樓:匿名使用者

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

7樓:小草

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

8樓:跟神聊天的人

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

9樓:匿名使用者

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

若有定義int i=1;則執行完迴圈while(i++<5);以後i的值為多少,為什麼 5

10樓:匿名使用者

當i等於4時,由於i++是後置,此時相當於(4<5)還要執行迴圈體,但此時i也已經變成5了,執行完迴圈體後,再判斷(i++<5),記住,此時i已等於5了,它不符合條件,結果迴圈,最後i就是5

11樓:空白2空黑

i執行完之後是5,while是先判斷然後執行迴圈體

定義int i=1,在執行while(i++<5)後,i的值為?為什麼呢

12樓:陽光彩虹小可樂

值為6。復

計算過程如下:

1、制把i++賦值bai給x;

2、x=1;i=i+1=2;

3、i++ 這個操作是

dux=i;i=i+1;

4、執行while(i++<5),一次迴圈後zhi i=2;

5、所以當i=5的時候就dao跳出迴圈 然後再++ 就變成5 + 1 = 6 了;

13樓:匿名使用者

a=i++;//把i++賦值來給a

此時a=1;i=i+1=2;

i++ 這個操作是a=i;i=i+1

所以源執行while(i++<5)執行一次迴圈後 i=2執行到最後跳出迴圈i應該等於6

14樓:匿名使用者

很簡單啊 執行玩while以後就是6了 為什麼呢 因為while裡面的條件是<5 所以當i=5的時候就跳出迴圈 然後再++ 就變成5 + 1 = 6 了  這個不需要深入思考**的 只看條件就知道了

15樓:南

不夠,再寫一點,while的下一個語句是什麼?

定義int i=1;執行語句while(i++<5);後,i的值為______。

16樓:江開紅

6注:當++運算子和關係運算子一起用時,

i++ 先判斷再++

++i 先++再判斷

17樓:匿名使用者

d、6先取值為5,後++,相當於5+1=6

i++做運算時的特性 先取值後++

18樓:匿名使用者

選ci=1;while(i++<5)應該相當於while(i=1;i<5;i++)

當執行那個到 i=5時候迴圈結束吧

在c語言中定義int i=1;執行語句while(i++<5)後i的值為6,為什麼?

19樓:千奕森良才

i++<5表示先取i的值和5比較,然後再執行++操作,所以,當i=5的時候不滿足while條件而退出迴圈,然後還會執行一次++操作,所以i=6

20樓:潭月肇揚

while(i++<5);

++在後來

,先自取i的值和5比較,然後i自動加1

當i=4時,執行4++<5,成立,i變成5執行5++<5,不成立,你怎麼知道不成立?因為執行了這個表示式,所以i將自動加1變成6

so,i的值最終為6

21樓:看灰過來了

while(i++<5);

++在後,先取i的值和5比較,然後i自動加1當i=4時,執行4++<5,成立,i變成內5執行5++<5,不成立,你怎麼知道不成立?容因為執行了這個表示式,所以i將自動加1變成6

so,i的值最終為6

22樓:

當i不滿足條件時此時的i值是5,跳出迴圈時,又自增1

定義int i=1,在執行while(i++<5)後,i的值為?

23樓:匿名使用者

要知道i是多少 很簡單 也不用計算 應是6

為什麼捏 當i=5的時候 不滿足 i<5 所以跳出了while迴圈 同時還有++ 所以5+1 = 6看圖

24樓:匿名使用者

i=1;while(i++<5)應該相當於while(i=1;i<5;i++)當執行那個到 i=5時候迴圈結束吧

25樓:student濤濤

6666666666666666

已知int i=1;,則執行語句while(i++<5)後,i的值為

26樓:匿名使用者

i++先取的是本身的值然後在加1i=6

27樓:戀v天真

d 5.因為i++<5相當於i<5;i++。

定義int i=1;執行語句while(i++<4);後,i的值為______。為何答案為5。

28樓:匿名使用者

當while執行第三次時i=3,此時i++的值為3,滿足小於4的條件,因而會進入第四次,此時i已經是4了,i++值為4,不滿足條件,迴圈結束,但i經過++後已經變成5了。

29樓:龍__鳳

i=4的時候,i<4不成立,i加1,跳出迴圈,所以i的值是5

i++<4,i參與運算後自加1,總共比較了4次,所以i的值是5

14) 現已定義整型變數int i=1;,執行迴圈語句「 while (i++<5);」後,i的值是________。

30樓:匿名使用者

6當i=4時,i < 5為真,執行空語句 ;

現在i = 5,此時要執行判斷條件, 首先是(i++),判斷出i < 5為假。 跳出迴圈。 此時i值已經為6.

31樓:xx長袖善舞

自增運算子作為字尾,要先試用變數的值去計算,然後再使變數的值加1。。所以i=5時,i++表示式的值是5,然後i自增為6 表示式不成了退出迴圈

32樓:匿名使用者

6因為i++ 和++i的含義不同

i++是先進行i 與5的比較在自增1

++i是先進自增一,在與 與5的比較

33樓:匿名使用者

先使用,而後自動加1的!i=5時while迴圈結束,但i的值卻自動加1變為了6!

34樓:

應該是6,這樣的寫法具有特殊含義,就是無論判斷正確與否,都會再做一遍i++,置於何時終止迴圈,就看i是否達到了5

35樓:匿名使用者

為什麼是6啊???我不懂,不是到5的時候就退出嗎

若有定義int a 3,b 2,c 1,則執行程式段if abc a b else a c之後,a

great喜歡程式設計 問題不全啊?a的值?a b c啊,所以執行a b,即把b的值賦給a,所以a 2 a最後為2,符合a b c 若有定義 int a 3,b 2,c 1 則執行程式段if a b c a b else a c 之後,a的值為 polaris北斗 a的值為1 條件a b c的值為假...

若有以下定義語句則sizeofa和sizeofb的值分

如果一個int佔兩個位元組的話,也就是原來的16位系統,則只能選a了。因為,只有a才接近,而且struct沒有什麼策略,是多少就佔多少。而b是指標,存放地址,16系統地址就是2個位元組。a a 5 2 看樣子是16位編譯系統 int day 2位元組 char moutn 1位元組 int year...

若有定義 int a 10,b 9,c 8執行語句c ab 4c a 7b 5後,變數的值a為b為

子爵先生 a b 4可得,a 5,再把a的值賦給c,c 5,然後c a 7 b 5 5 5 10 所以a 5,b 5,c 10 int a 10,b 9,c 8 c a b 4 為c a a b 4 c a 7 b 5 為c a 7 5結果a是5 b是 5 c是 10 gg歪歪 b 4 5,a a ...