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

 我来答
艺蜗枫
2020-11-23 · TA获得超过1570个赞
知道答主
回答量:31
采纳率:0%
帮助的人:1.7万
展开全部

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语言运算符号

恭卉歧兰梦
2019-08-12 · TA获得超过3625个赞
知道大有可为答主
回答量:3015
采纳率:24%
帮助的人:401万
展开全部
C语言中++的位置有两种,你遇到的情况是第一种++a,也就是++在变量的前面,这种就表示a先加1,等价于a=a+1,也就是a的值现增加1在参与其他的运算。还有一种就是++在后面,a++,这种情况就是a先参加运算,然后其值加1;如果你遇到的是这一种情况,才应该是15.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
却妮本小雯
2019-05-16 · TA获得超过3865个赞
知道小有建树答主
回答量:3068
采纳率:31%
帮助的人:179万
展开全部
表示自增1,++的优先级比较高,高于*,所以先执行++a,后执行++a的返回值乘以5。
如果你需要3*5,那么必须写成c
=
(a++)*5或者c
=
(a*b),(a*b)这样的表达式不能被++运算。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
符月毋力强
2020-02-14 · TA获得超过3875个赞
知道小有建树答主
回答量:3052
采纳率:32%
帮助的人:185万
展开全部
++a的意思是先把a的值加1,再进行计算,而a++是先进行后面的计算,计算完后再将a的值加1,所以本题a先累加变成4,再与b相乘
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
买斋妇闭门房6
2021-09-28 · 超过33用户采纳过TA的回答
知道答主
回答量:121
采纳率:85%
帮助的人:6.8万
展开全部
  =是赋值运算符:a = 3 ,是指把“3”这个值赋予给了a ,a就拥有了值,即为3.

  +=:加法赋值运算符,将运算符前面的变量加上后面的值再赋值给前面的变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式