為什么i++和++i效果一樣???
#include <stdio.h>
int main()
{
? ? int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
? ? //補(bǔ)全代碼實現(xiàn)對數(shù)組arr的遍歷
? ? //可以采用你自己喜歡的循環(huán)結(jié)果
? ? int i;
? ? for(i=0;i<10;i++)
? ? {
? ? ? ? printf("%d\n",arr[i]);
? ? }
? ? return 0;
}
就是不理解開始輸入的i=0后如用i++則i先取值再自增應(yīng)該是取的0啊,那就應(yīng)該報錯了,為什么i++也是正確的啊。
2017-09-27
?for(i=0;i<10;i++) ?{...}
流程是這樣的:
第1次循環(huán) 取值i=0,用完后i++, i=1
第1次循環(huán) 取值i=1 , 用完后i++, i=2
...
第9次循環(huán) 取值i=8,用完后i++ ,i=9
第10次循環(huán) 取值i=9,用完后i++ ,i=10
第11次條件不滿足,終止循環(huán)。
所以這里i++和++i效果是一樣的,因為i自增的時候的值并沒使用,而是給下一次循環(huán)用。
2018-11-09
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; 則執(zhí)行完后 y=1; i=2;
????i=1; y=++i;? 等效于:i=1; i=i+1; y=i; 則執(zhí)行完后 y=2; i=2;
3. 用于判斷條件表達(dá)式:如:
????a、i++:先執(zhí)行判斷后加1;
????b、++i:先加1后執(zhí)行判斷;
作者:王文茹?
來源:CSDN?
原文:https://blog.csdn.net/wangwenru6688/article/details/53442929?
2017-11-29
i++可以當(dāng)做一個獨立的語句
你看i=0;i《10;i++之間都有分號的
2017-09-27
我的意思是循環(huán)到9時i其實輸出的是8呀,因為i++先輸出后自加啊,那樣就會導(dǎo)致越限了啊,但是為什么并沒有啊
2017-09-26
數(shù)組的一個數(shù)是arr[0]