为什么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++也是正确的啊。
#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-25
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
举报