1、两者的区别就是i++是先使用i,在加一;而++i是先加一,再使用i,此时i不是原来的i。
举例:
int a[2]={0,0},b[2]={0,0};
int i=0,j=0;
while(1)
{
a[i++]=1;
b[++j]=1;
break;
}
printf("%d,%d\n",a[0],a[1]);
printf("%d,%d\n",b[0],b[1]);
输出结果为:
1,0
0,1
可见数组a先执行a[0]=1,然后i=i+1;
数组b则是先执行i=i+1,然后执行b[1]=1。
2、然而在for循环中,i++和++i的结果是一致的,如下:
for(int i=0;i<3;i++)
for(int j=0;j<3;++j)
这是因为for循环自己的运行规则,先执行初始值,再递增。for循环在执行函数体时,循环变量i或j已经加一,但是还是带入前一刻的值在循环体中执行。