6執行語句for i 1 i4後變數i的值是答案是5 但是在visual c執行答案是4啊!為什麼

2022-08-23 17:15:37 字數 6134 閱讀 1344

1樓:匿名使用者

答案是4,不管是什麼編譯器都是4。如果i++<=4,就是5i++ 的運算規則:如果i是3,

如果是 i++。 這個表示式的值是3,經過這一步後i的值是4.

如果是 ++i 。這個表示式的值是4,經過這一步後i的值是4.

2樓:

答案的確是五。i++中是i先用後在進行自加。然後後面的分號後面意思就是i++的意思。如:3<4,。3加1.變4.分好後還要加一下就是五了。

3樓:匿名使用者

你把for語句中小於號後的4改為5,執行時,i 才會取值到5

4樓:

你在後面再加一個printf就是5了!當執行到4時要++就是5了!!!希望能採納!!!

5樓:重小樓

不同的編譯器結果會不一樣的

第四次迴圈i=4,先執行i++操作,再判斷條件,因此i=5

6樓:匿名使用者

應該是4,你可加個(i++)<4,這樣可以避免一些不必要的錯誤

7樓:匿名使用者

應該是4,其實就是看i++<4是先i++再<4,還是先<4還是i++.

8樓:謊言_那麼動聽

因為原題裡for括號後面有分號啊兄弟

9樓:匿名使用者

在你的printf後,在加一條printf("%d",i);就顯示出來了

10樓:匿名使用者

答案是4啊,是5?不可能吧?

執行語句:for(i=1;i++<4 ;)後,變數i的值是_____

11樓:匿名使用者

答案是c,因為i++是指在操作之後再加,當4<4不成立輸出數值時,其還要加1,即i

+1=5,所以答案為c

12樓:匿名使用者

答案是b

i=1 i++ =2

i=2 i++ =3

i=3 i++ =4<4已經不成立,但i已經取到4,所以答案如上

c++問題 執行語句for(i=1;i++<4;);後變數i的值

13樓:匿名使用者

樓上的說法不對,建議看看書,i++和++i的區別。同樣是把i+1,i++返回的是+1前的值,++i返回的是+1後的值

當i=3時,執行i++後,i變成了4,但i++返回值是3,因此滿足條件,迴圈繼續。

當i=4時,執行i++後,i變成了5,而i++返回值是4,跳出迴圈。

所以最後i是5

14樓:匿名使用者

++操作分兩種,一個是i++,一個是++i。i++表示i先賦值,後加1;++i表示先加1後賦值。以下面為例:

int d;

int i;

i = 2;

d = i++;

那麼d的值是2,i的值為3,即i的值先賦給d,之後i再自增。

若為d = ++i;則d的值為3,i的值為3,即i先自增,後賦值。

題目中i++<4即i先與4比較,後自增1,相當於i<4,i = i+1;

當i變化為4時,4<4不成立,但i=i+1仍然執行,但不執行迴圈體。迴圈結束,故i最終變化為5。(其實最後一句才是最重要的。)

15樓:z粽

++是個後置的運算子~也就是說i++ < 4這個條件中的i用的是自增運算前的值~

再比如:

int main()

這樣的話,程式執行得到的顯示是「c=3;a=3」

就是在計算c = (a++) + b的時候a還是2的值~在語句執行完之後才進行自增哦~

所以你那個語句裡,在最後不滿足i++ < 4時,i其實是剛好等於4,迴圈執行完之後就變成5了~

那麼 如果想讓他最後是4的話,你應該用前置自增 就是「++i < 4」~~這和我們平時對自增的認識是一樣的

-----

希望幫到你

16樓:匿名使用者

當i加到4時,迴圈條件不滿足,跳出迴圈,但是i還要加一次,因為i++是先使用i比較後再加1的,所以i的值是5。

17樓:無月⑥聲

for(i=1;i++<4;)

;for後面跟著一個空語句~~當然是i一直在迴圈到i=5不符合i++<4跳出for迴圈啦~~~

所以i是5,呵呵~~

i++<4 是先做i<4的判斷然後再i++的,呵呵

18樓:匿名使用者

對於i++<4,即先判斷i<4,再執行i++;

當i=4時,i<4不成立,退出for語句,再i++,故最後i=5

19樓:匿名使用者

i++是先使用i的值後,再執行i=i+1

當i=4時,求解i++<4不成立,但求解過程是先使用i的值,4<4為假,但接下來要再執行i=i+1,

所以i值就為5了

20樓:匿名使用者

這是很基礎的問題啊...樓上給了很多這方面的知識,好好學...說明你基礎不紮實,多注意這些細節對你程式設計有幫助

執行語句 for(i=1;i++<4;); 後變數i的值為

21樓:忠實的獵人

回答您好,這道題的答案是3。希望回答對您有所幫助,祝您生活愉快!

您好,最終的答案是4,前面搞錯了,不好意思。

當i==3時(判斷後i變為4),滿足條件,執行迴圈;當i==4時(判斷後i變為5),不滿足條件,退出迴圈。當i變化為4時,4<4不成立,但i=i+1仍然執行

所以,i必定是5,這是正確答案。

更多2條

執行語句 for (i=1; i++<4;) ; 後變數 i 的值是

22樓:聽不清啊

執行語句 for (i=1; i++<4;) ; 後變數 i 的值是5

當i==3時(判斷後i變為4),滿足條件,執行迴圈;

當i==4時(判斷後i變為5),不滿足條件,退出迴圈。

23樓:戶哲茂

當i==4時候跳出for,字尾在之後又+了一次

24樓:

5。1++<4

2++<4

3++<4

4++=4 ✘——>i++=5

25樓:晴子

i=5,加號在後面,先使用,後加一

執行語句:for(i=1;i++<4;);後,變數i的值是(5 )。

26樓:z粽

++是個後置的運算子~也就是說i++ < 4這個條件中的i用的是自增運算前的值~

再比如:

int main()

這樣的話,程式執行得到的顯示是「c=3;a=3」

就是在計算c = (a++) + b的時候a還是2的值~在語句執行完之後才進行自增哦~

所以你那個語句裡,在最後不滿足i++ < 4時,i其實是剛好等於4,迴圈執行完之後就變成5了~

那麼 如果想讓他最後是4的話,你應該用前置自增 就是「++i < 4」~~這和我們平時對自增的認識是一樣的

-----

希望幫到你

27樓:白菜一顆

i++<4,當i=4的時候走到這一步,因為++在i的後面,所以是先執行語句,後執行++操作,所以4<4不成立,然後再i=i+1,所以最後i的值為5

28樓:聽不清啊

執行語句 for (i=1; i++<4;) ; 後變數 i 的值是5

當i==3時(判斷後i變為4),滿足條件,執行迴圈;

當i==4時(判斷後i變為5),不滿足條件,退出迴圈。

29樓:

當i加到4時,迴圈條件不滿足,跳出迴圈,但是i還要加一次,因為i++是先使用i比較後再加1的,所以i的值是5。

30樓:匿名使用者

對於i++<4,即先判斷i<4,再執行i++;

當i=4時,i<4不成立,退出for語句,再i++,故最後i=5

31樓:匿名使用者

i++是先使用i的值後,再執行i=i+1

當i=4時,求解i++<4不成立,但求解過程是先使用i的值,4<4為假,但接下來要再執行i=i+1,

所以i值就為5了

32樓:匿名使用者

樓上的說法不對,建議看看書,i++和++i的區別。同樣是把i+1,i++返回的是+1前的值,++i返回的是+1後的值

當i=3時,執行i++後,i變成了4,但i++返回值是3,因此滿足條件,迴圈繼續。

當i=4時,執行i++後,i變成了5,而i++返回值是4,跳出迴圈。

所以最後i是5

33樓:無月⑥聲

for(i=1;i++<4;)

;for後面跟著一個空語句~~當然是i一直在迴圈到i=5不符合i++<4跳出for迴圈啦~~~

所以i是5,呵呵~~

i++<4 是先做i<4的判斷然後再i++的,呵呵

34樓:小小小饅頭仔

首先明確i++<4和++i<4是有區別的,i++<4是先i<4再i+1,而++i<4是先i+1後比較i<4

兩個語句在for裡面輸出i值的結果分別是:

for(i=1;i++<4;)

輸出結果:2 3 4 最終i值是5

for(i=1;i<4;i++)

輸出結果:1 2 3 最終i值是4

也就是說,兩個迴圈執行的迴圈次數是一樣的,都是3次,但是迴圈裡面的i值不一樣

為什麼第一個迴圈完後i會是5,我們從i=3開始講,i++<4先比較i<4然後i加一,3<4成立,i加一等於4

輸出i值為4,然後執行i++<4的比較,此時i為4,4<4不成立,不會執行輸出i值的語句,但是i++還是會執行

執行完i++,此時i=5

35樓:匿名使用者

i++<4先判斷再自增,++i<4先自增再判斷,for(i=1;i<4;i++)相當於for(i=1;++i<4;)

36樓:

for(i=1;i++<4;) 輸出 2,3,4 最終i=4for(i=1;++i<4;) 輸出2,3 最終i=3i++<4 等價於 i<4; i=i+1++i<4 等價於 i=i+1; i<4

37樓:匿名使用者

不等價。但結束時都是i=4。10for(i=1;i++<4;)執行2次,for(i=1;i<4;i++)執行3次.

38樓:匿名使用者

++操作分兩種,一個是i++,一個是++i。i++表示i先賦值,後加1;++i表示先加1後賦值。以下面為例:

int d;

int i;

i = 2;

d = i++;

那麼d的值是2,i的值為3,即i的值先賦給d,之後i再自增。

若為d = ++i;則d的值為3,i的值為3,即i先自增,後賦值。

題目中i++<4即i先與4比較,後自增1,相當於i<4,i = i+1;

當i變化為4時,4<4不成立,但i=i+1仍然執行,但不執行迴圈體。迴圈結束,故i最終變化為5。(其實最後一句才是最重要的。)

2、執行語句「for(i=1;i++<4;);」後,變數i的值是( )。

39樓:曦夢喵

結果是4,i++先比較後自增,一共迴圈了3次,第一次比較後,i自增變為2,當i=3<4時比較成立,i自增變為4,4<4不成立迴圈結束。

執行語句for(i=0;i<4;i++);後,變數i的值為

40樓:匿名使用者

執行完以後,i的值為4。

驗證**如下:

#include

int main()

printf("%d",i);

}驗證結果如下:

41樓:陽陽

4當i=3時還會執行 i++

sql語句不能執行,SQL語句不能執行

你這個也叫資料庫問題?這個是程式問題。不知道你這個是不是asp還是什麼東東,沒有用過,但是以下的語句應該是有問題的,原來樣式 進行查詢。result mysql query sql 結束並且釋放連線。mysql close conn 估計的樣式 進行查詢。result mysql select 結束...

如果int i,a執行語句i(a 2 4,a 5 ,a 6後,變數的值是?怎麼理解的

i a 2 4,a 5 a 6 先執行2 4 8 然後a 8 之後a 5 40 接著i 40 最後a 6 14 沒用 結果 i 40,a 8 這個查一下運算子優先順序就可以了。一般情況,寫程式不會這樣寫的 呵呵,這個問題純屬考c語言的語法規則的,一般人不會這樣用的.其實這個是c的逗號表示式的值的問題...

excel語句lookup不執行,跪求解答啊

1 你的單元格格式應該是被設定為了 文字型 需要將其改為 常規 然後重新輸入公式。2 你的公式有問題。vlookup c15,sheet1 c3 c18,4,1 由於你需要返回的是c3 c18中的第4列資料的對應值,而c3 c18實際只是一列資料。因此,公式錯誤。根據你的截圖判斷。公式應該為 vlo...