C编程从入门到实践
上QQ阅读APP看书,第一时间看更新

5.3.2 复合赋值运算符

为了简化程序并提高编译效率,C语言允许在赋值运算符“=”之前加上其他运算符,这样就构成了复合赋值运算符。复合赋值运算符的功能是,对赋值运算符左、右两边的运算对象进行指定的算术运算,再将运算结果赋值给左边的变量。

使用复合赋值运算符的具体格式如下。

    算术运算符=

下面都是复合赋值运算符的语句。

    a+=b;                                    //等价于a=a+b;
    a-=b;                                    //等价于a=a-b;
    a*=b;                                    //等价于a=a*b;
    a/=b;                                    //等价于a=a/b;
    a%=b;                                    //等价于a=a%b;

在复合赋值运算符右边的表达式是一个运算“整体”,不能把它们分开。如a*=b+10等价于a=a*(b+10)。如果把a*=b+10理解为a=a*b+10就错了。