# include <stdio.h> int main(void) { int a; int b; int c; int d; a = 10; b = a++; c = ++a; // d = 10 * ++a; d = 10 * a++; printf("%d, %d, %d, %d", a, b, c, d); return 0; }
编译后的结果是13, 10, 12, 120code
a++
和 ++a
等价于a = a + 1;
b = a++;
是先将a的值赋给a再自增相似于b = a; a = a + 1;
, c = ++a;
是将a先自增再赋给c,相似于a = a + 1; c = a;