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;
}