C语言中+=是什么意思?

如题所述

C语言中+=是复合赋值运算符。复合赋值运算符就是在简单赋值符“=”之前加上其它运算符构成,例如+=、-=、*=、/=、%=。

即:a+=1;等价于a=a+1。+=的意思就是把左边的第一个符号移到右边,其实就是b=b+c的意思。直接把b+=c的b+移到右边,将b的值取出再取出c的值,相加然后赋给b,存储在b开辟的内存空间中,类似的还有,b-=c、b*=c都是这个意思。

这么写可以让执行优化,寻址a的地址一次即可,否则需要两次对a进行寻址。然而cpu的突飞猛进让这个优化在几十年前已经没有实际价值了,保留下来无非是因为语法兼容和程序员习惯。

扩展资料

C语言中运算符号种类

1、算术运算符

用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。

2、关系运算符

用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)六种。

3、逻辑运算符

用于逻辑运算。包括与(&&)、或(||)、非(!)三种。

4、位操作运算符

参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。

5、赋值运算符

用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。

6、条件运算符

这是一个三目运算符,用于条件求值(?:)。

7、逗号运算符

用于把若干表达式组合成一个表达式(,)。

8、指针运算符

用于取内容(*)和取地址(&)二种运算。

9、求字节数运算符

用于计算数据类型所占的字节数(sizeof)。

10、特殊运算符

有括号(),下标[],成员(→,.)等几种。

参考资料来源:百度百科-C语言运算符号

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-12
C语言中++的位置有两种,你遇到的情况是第一种++a,也就是++在变量的前面,这种就表示a先加1,等价于a=a+1,也就是a的值现增加1在参与其他的运算。还有一种就是++在后面,a++,这种情况就是a先参加运算,然后其值加1;如果你遇到的是这一种情况,才应该是15.
第2个回答  2019-05-16
表示自增1,++的优先级比较高,高于*,所以先执行++a,后执行++a的返回值乘以5。
如果你需要3*5,那么必须写成c
=
(a++)*5或者c
=
(a*b),(a*b)这样的表达式不能被++运算。
第3个回答  2020-02-14
++a的意思是先把a的值加1,再进行计算,而a++是先进行后面的计算,计算完后再将a的值加1,所以本题a先累加变成4,再与b相乘本回答被提问者采纳
第4个回答  2021-09-28
  =是赋值运算符:a = 3 ,是指把“3”这个值赋予给了a ,a就拥有了值,即为3.

  +=:加法赋值运算符,将运算符前面的变量加上后面的值再赋值给前面的变量。