1、+运算符左右两边操作数的计算顺序
#include<stdio.h> void fun(int x) { int a = x; a += (a=8); printf("%d\n", a); //16 } int main(void) { fun(8); return 0; }
a += (a=8),也就是 a = a + (a=8),而+运算符是首先计算左边的运算数的,这里左边的运算数是a,不用计算,然后计算右边的运算数a=8,也把左边的运算数给修改了,最后 8+8 -》16,通过下面的例子也可得到相同的结果
#include<stdio.h> void fun(int x) { int a = x; a = (a=5) + (a=8); printf("%d\n", a); //16 } int main(void) { fun(8); return 0; }