為什么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++也是正確的啊。
2017-09-27
?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自增的時候的值并沒使用,而是給下一次循環用。