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啦 ...