C 不但提供了最基本的赋值运算符 =,还提供了一些复合赋值运算符(combination assignment operator):+=、-=、*=、/=、%=。下面我们通过一些简单的例子学习这些复合赋值运算符的用法:
income += 300; 等同于 income = income + 300;
income -= 200; 等同于 income = income - 200;
income *= 0.1; 等同于 income = income * 0.1;
income /= 1.1; 等同于 income = income / 1.1;
reduce %= 3; 等同于 reduce = reduce % 3;
income += 200 + 100; 等同于 income = income + (200 + 100);
income *= 1 - 0.9; 等同于 income = income * (1 - 0.9);
income /= 2 * 1 - 0.9; 等同于 income = income / (2 * 1 - 0.9);
复合赋值运算符的优先级和 = 的优先级一样。
复合赋值运算符使用起来简练,产生的机器代码的效率可能比使用 = 的高,不过可读性稍差。
参考资料:C Primer 5th Edition
The C Programming Language 2nd Edition
C99 标准
本文版权归 蚂蚁的 C/C++ 标准编程 以及 作者 antigloss 共同所有,转载请注明原作者和出处。谢谢。