問一題c語言的問題 for i 0 i5執行結束

2022-03-08 03:25:58 字數 3344 閱讀 9862

1樓:蹭糾

看來你對i++沒理解透(你最好先把書上寫的看懂),先用i 後++。 我給你講講c語言的底層運作順序:(內容很多,我只簡單的將下,你可以看下c的源**) i++<5,在c執行的時候,c語言是把i++<5看做(i<5)++在執行,也可以看作(i<5)=(i<5)+1。

【這裡涉及到運算的優先順序順序,以及記憶體分配排程問提,比較複雜,不懂得你看先看下書】 前面的你都清楚,當i=5(這點你清楚吧),先執行i<5,5<5嗎?no,也就是說記憶體裡i的值還是5,然後執行(a)=(a【這個a實際上是i<5運算後i的值】)+1,括號裡的i<5不成立(!ture),c語言是按順序執行的,於是後面要做()=()+1,於是有i=i+1,i=6, 不知道你看懂沒,實在沒懂,你可以先不管等你,把c學完了就清楚了。採納哦

2樓:手機使用者

i++<5先比較在自加,所以執行到5<5時結束,比較完在自加就是6了。如果是++i<5那麼結果就是5

問一題c語言的問題:for(i=0;i++<5;);執行後變數i為什麼是1,請一步步講解謝謝

3樓:

i++<5的意思其實有2個步驟

i=i+1;

i<5;

所以是先加1了之後再和5比較,所以變數i是1

4樓:匿名使用者

i++就是i=i+1

1<5

5樓:

誰說是1了,命名是6啊,你說的是迴圈一次還是迴圈結束

6樓:若amp惜

i++是先計算後得值的,即第一次i++是先計算得到for(i=0;0<5;),執行完之後i得值1,第二次是for(i=0;1<5;).明白否?關鍵在於i++和++i的區別。

c語言中,for(i < 5;i >=0;i++)的迴圈執行完畢後i結果是0還是-1??

7樓:君上沙夏

這個得看你的i初值如果小於零那就是i本身,如果i>=0那就是無限迴圈剛才在dev上測試的

8樓:匿名使用者

很明顯是-1;可以用一下**測試一下

for(i < 5;i >=0;i++);

printf("%d\n",i);

9樓:匿名使用者

#include

int main()

你用gcc再編譯一下自這個程式看看?

肯定是-1的,如果是0,那麼是符合迴圈條件的。

10樓:匿名使用者

-1不然不退出迴圈。。。。。。。。。。。。。。。。

求助!c語言 執行語句「for(i=1;i++<5;);"後變數i的值是?

11樓:聽不清啊

c語言 執行語句「for(i=1;i++<5;);"後變數i的值是 6

因為當i==4時,(隨後i變為5)判斷為真,執行迴圈

當i==5時,(隨後i變為6)判斷為假,退出迴圈

c語言的問題,for(i=1;i++<4;)執行完後i是多少啊,步驟啊

12樓:vic白菜

5 i++後置++ 4<4不成立退出時自增為5

13樓:牟涆單于丹蝶

最後結果應該是4.

第一次迴圈,i=1,自加一次得2,小於4成立,繼續迴圈;

第二次迴圈,i=2,自加一次得3,小於4成立,繼續迴圈;

第三次迴圈,i=3,自加一次得4,小於4不成立,迴圈終止;

需要注意的是,'++'的運算優先順序高於'<'的優先順序,所以先進行++運算,再判斷條件是否成立

c語言for語句中,for(i=1;i<=5;i++)是在迴圈的最後才執行i++還是一開始就執行i

14樓:月輪天唯五

迴圈的最後

比如第一次i=1;然後立即判斷,如果通過然後執行語句{};執行完語句後i+=1;然後再判斷,如果通過再執行{}

15樓:己若雲

執行完迴圈後再自增1

16樓:匿名使用者

不懂。你兩種都試試唄

c語言for(i=0; i<6; i++) 什麼意思 原理

17樓:漠影歌

for迴圈的執行方式;

首先執行第一句 i = 0; 算是一個初始化。

其次執行第二句 i < 6,這算是一個判斷,如果版這個條件不成立,則不進入for迴圈結束。

之後會走for迴圈裡面的語句,權printf那個。

執行完for迴圈裡面的語句之後,再執行for括號中的第三句 i ++,讓i 自加 1,這時候 i = 1 + 1 =2, 然後再走i < 6 ,明顯2 < 6條件成立,繼續for迴圈中的語句,如此迴圈往復,一直到i >= 6 使得 i < 6的條件不成立為止。

不懂繼續追問

18樓:

就著你bai

這個程式說,當du前陣列a總共有6個元素zhi,元素的編號分別是dao:0,版1,2,3,4,5

用一個用於迴圈的變權量i從第0號元素開始,逐次往後遍歷這個陣列,也就是按照上面的順序

將陣列中的資料取出來,在for的{}中用列印語句輸出

19樓:匿名使用者

當i分別等於0,1,2,3,4,5時。分別執行一次大括號裡面的語句共執行了6次

c語言,for迴圈問題for(i=0;i<=1;++i)這樣的迴圈會執行幾次,最後i的值是多少?

20樓:

是那樣理解的,實在不放心,執行驗證就可以了

21樓:匿名使用者

for迴圈的基本語法你應該看過的,再簡單說下

第一個語句是迴圈前執行的操作,一般是用來初始化計數器,這個語句只執行一次

第二個語句是迴圈進行的條件,是一個判斷表示式,如果為真迴圈繼續,否則退出迴圈

第三個語句是每次迴圈執行完畢,判斷是否繼續迴圈之前執行,每迴圈一次執行一次

下面看這個題的分析

i進入迴圈 0 i<=1為真,進入,第一次迴圈

第一次迴圈後 1 i<=1為真,第二次迴圈

第二次迴圈後 2 i<=1為假,退出

所以一共執行2次,i=2

以後可以用迭代法走查,然後有條件的話可以用編譯器除錯。不過最好不要過分依賴編譯器,要有解決問題的能力,這樣會好很多

c語言一題求答要詳細的,C語言一題求答 要詳細的

int 型變數在記憶體中佔2位元組 char 變數佔1位元組 union 聯合也是一種新的資料型別,它是一種特殊形式的變數。聯合說明和聯合變數定義與結構十分相似。其形式為 union 聯合名 聯合變數名 聯合表示幾個變數公用一個記憶體位置,在不同的時間儲存不同的資料型別和不同長度的變數。當一個聯合被...

c語言一題,具體解答,c語言兩個問題求解答,一個邏輯運算,一個陣列 第一題希望能詳細一點,網上的都看不懂

p a 1 相當於p陣列從制a 1 開始,p指向a 1 位置x 0 x 0 x 3成立 bai,開始迴圈 y p x p x p 0就是duzhip,y y p 1 a 1 1 4 5 x x 1 x 3成立,繼續迴圈 y p x p x p 1就是 x x 2 x 3成立,繼續迴圈 y p x p...

問C語言的小問題,問一個C語言的小問題

你就把取值範圍理解成一個圓圈,int取值範圍 32768 32767 超過了32767 最大數 就繞一圈到 32768 最小數 再從最小數開始往上加 所以會是 1懂了麼 上面程式不能正確執行 就異常退出咯 得到的就是 1 為什麼不能正確執行 1 你的unsingned出錯 應該是unsigned啦 ...