
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
4.7 复合赋值运算符

复合赋值运算符是C语言中独有的,这种操作实际上是一种缩写形式,可以使变量操作的描述方式更简洁,如将“+”和“=”复合,如图4.13所示。

图4.13 复合赋值运算符
给一个变量赋值,代码如下:

上述代码是对一个变量进行赋值操作,值为这个变量本身与一个整型常量3相加的结果。使用复合赋值运算符可以实现同样的操作,代码如下:

这种描述更为简洁。对于上述实现相同操作的两种方法,复合赋值运算符的优点如下:
●可以简化程序,使程序更简洁。
●可以提高编译效率。
如果使用简单赋值运算符,如Func=Func+1,那么表达式会计算两次;如果使用复合赋值运算符,如Func+=1,那么表达式仅计算一次。对于简单的计算,这种区别对程序运行没有太大影响,但是如果表达式中存在某个函数的返回值,那么函数被调用两次与被调用一次对程序运行的影响会比较明显。