直接上代码来理解
#include<stdio.h>
int main()
{
int a=6,b=6;
printf("a++=%d\n",a++);
printf("++b=%d\n",++b);
}
输出结果如下图
为什么会这样呢?
a++输出6可以理解为
int a=i;//i为6
i=i+1;
return a;//输出的是a,a为6
i++是先赋值再自增
++a输出8可以理解为
int a=i;//i为6
i=i+1;
return i;//输出的是i,a为7
++i是先自增再赋值