C++中,a++、a+=1、a=a+1、++a 有什么区别?

如题。应该如何区别它们呢?a++和++a很容易搞错。... 如题。应该如何区别它们呢?a++和++a很容易搞错。 展开
 我来答
roofalison
推荐于2017-09-17 · 超过10用户采纳过TA的回答
知道答主
回答量:18
采纳率:0%
帮助的人:0
展开全部
a++:a先创建自身的一个副本,然后a自增1,最后返回副本的值
a+=1: 事实上相当于++a
a=a+1: 虽然有点雷同于a+=1,但不同的是此时右值的a和1做相加操作,形成一个副本然后赋值给a,所以有额外操作
++a:将a自增1并返回a
鉴于a++和++a的差别,C++Primer建议用++a作为for循环的递增量。
以上讨论不仅限于int,还着重于对类的重载设计时的考虑。
燕清扬
2008-03-11
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
例如a=2;
a++;输出结果为2;但是内存中它的值自加1了。(先输出a再运算)
例如a=2;
++a;输出结果为3;内存中也是3.(先运算a再输出值)。
例如a=2;
a+=1;意思等同于a=a+1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晓呈呈
2008-03-11
知道答主
回答量:17
采纳率:0%
帮助的人:0
展开全部
a++ 先取值再自加
++a 先自加再取值
a+=1 等同 a=a+1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友32b957015
2008-03-11 · TA获得超过762个赞
知道小有建树答主
回答量:1193
采纳率:0%
帮助的人:1224万
展开全部
cout<<a++;
cout<<a;

cout<<a++
cout<<a;
你会知道区别的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天才兔之2008
2008-03-11 · 超过22用户采纳过TA的回答
知道答主
回答量:103
采纳率:0%
帮助的人:44.5万
展开全部
a++表示在一个语句中,也就是在分号结束时先不加1,直接代入a的值计算,之后在进行下一条语句计算时,a的值变成了a+1.
a+=1表示a=a+1,也就是把a+1的值赋给a。
++a表示在一条语句中,先让a的值加上1,在参与计算。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式