亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么i++和++i效果一樣???

#include <stdio.h>

int main()

{

? ? int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

? ? //補全代碼實現對數組arr的遍歷

? ? //可以采用你自己喜歡的循環結果

? ? int i;

? ? for(i=0;i<10;i++)

? ? {

? ? ? ? printf("%d\n",arr[i]);

? ? }

? ? return 0;

}

就是不理解開始輸入的i=0后如用i++則i先取值再自增應該是取的0啊,那就應該報錯了,為什么i++也是正確的啊。



正在回答

5 回答

?for(i=0;i<10;i++) ?{...}

流程是這樣的:

第1次循環 取值i=0,用完后i++, i=1

第1次循環 取值i=1 , 用完后i++, i=2

...

第9次循環 取值i=8,用完后i++ ,i=9

第10次循環 取值i=9,用完后i++ ,i=10

第11次條件不滿足,終止循環。

所以這里i++和++i效果是一樣的,因為i自增的時候的值并沒使用,而是給下一次循環用。

0 回復 有任何疑惑可以回復我~

1.對于普通獨立的語句,i++和++i是一樣的

????i++; 等效于i=i+1;

????++i; 等效于i=i+1;

2. 用于賦值語句,i++先賦值后加1,++i先加1后賦值,如:

????i=1; y=i++;? 等效于:i=1; y=i; i=i+1; 則執行完后 y=1; i=2;

????i=1; y=++i;? 等效于:i=1; i=i+1; y=i; 則執行完后 y=2; i=2;

3. 用于判斷條件表達式:如:

????a、i++:先執行判斷后加1;

????b、++i:先加1后執行判斷;

作者:王文茹?

來源:CSDN?

原文:https://blog.csdn.net/wangwenru6688/article/details/53442929?

2 回復 有任何疑惑可以回復我~

i++可以當做一個獨立的語句

你看i=0;i《10;i++之間都有分號的


0 回復 有任何疑惑可以回復我~

我的意思是循環到9時i其實輸出的是8呀,因為i++先輸出后自加啊,那樣就會導致越限了啊,但是為什么并沒有啊

0 回復 有任何疑惑可以回復我~

數組的一個數是arr[0]

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么i++和++i效果一樣???

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號