在C++中,a+=b %=a+b,是什么意思?怎么理解?最好能把它拆开。

 我来答
kent_ghost
2017-11-02 · TA获得超过254个赞
知道小有建树答主
回答量:266
采纳率:98%
帮助的人:82.1万
展开全部

几乎所有语句是从右向左理解的:

b=b%(a+b)
a=a+b

直接分别用1和2代入,

b=2%(1+2)  //b=2
a=1+2    //a=3

%是取余,除了a是0的情况下,第一句的结果都只会是b自己;

然后这句的结果,除了a、b均为0的情况外(不肯定0%0的结果):

a为0,b不是0,最终结果是a、b都是1;

b为0,a不是0,最终结果是a、b均不变;

其余情况,a加了b的值,而b不变。

天上的一条龙
2011-06-22 · TA获得超过476个赞
知道小有建树答主
回答量:221
采纳率:0%
帮助的人:204万
展开全部
先执行 b%=a+b, 等同于b=b%(a+b);
然后执行 a+=b,等同于a=a+b
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2816495
2011-06-22 · TA获得超过135个赞
知道答主
回答量:90
采纳率:0%
帮助的人:56.7万
展开全部
先执行 b%=a+b, 等同于b=(a+b)%b;
然后执行 a+=b,等同于a=a+b
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式