自增运算符(++),自减运算符(–)计算的优先级总是容易混淆。
我们从代码分析:
int a=5,b,c,d;
b=a++;
printf(“a=%d,b=%d\n”,a,b); // a=6,b=5
//a=6,b=5
c=++a;
printf(“a=%d,c=%d\n”,a,c);//a=7,c=7
//a=7,c=7
d = -a ++;
printf(“a=%d,d=%d\n”,a,d);//a=8,d=-7
可见,当与等号连用时,++在a的后边,则先等后加,在a的前边,则先加后等。记忆的口诀就是“++在前就先加,在后就后加”。
还需要注意的是-a++
这种情况,++在后边,则后加,但是注意,加的是a本身,而不是-a。