前置运算符:先取变量的地址,运算它的内容,然后把值放到寄存器中。
后置运算符:先取变量的地址,把它的值装入寄存器中,在运算它内存中的内容。
简而言之:前置是先算后用,后置是先用后算;
#include<stdio.h>
int main()
{
int a,b,c,d;
a = 10;
b = a++;
c = ++a;
d = 10 * a++;
printf("%d\t%d\t%d\t%d\n", a, b, c, d);
return 0;
}
输出结果:
13
10
12
120
最后在留给大家一个小问题:
int a = 4;
(1) a += a++;
(2) a += ++a;
(3) ++a += a;
(4) ++a += a++;
(5) ++a += ++a;
结果:
(1) 9
(2) 10
(3) 10
(4) 11
(5) 12