先加后加问题

先加后加问题

int x = (m++)+n;

int y = (--m)+n;

第一行是 m+n赋值给x    最后m再自加1么?

第二行 m先自减1 然后加n 最后赋值给y么?

这样理解对不对, 那括号有什么关系?什么用。


正在回答

登陆购买课程后可参与讨论,去登陆

3回答

你理解的对。括号的作用是为了避免误解。比如说:(m++)+n写成m+++n会让人理解成m+(++n)也可能理解成跟题意相同的(m++)+n。括号只是为了避免造成不必要的误解。

  • Vincon 提问者 #1
    谢谢,一直以为括号内先计算呢. 现在明白了.
    2017-03-18 09:01:38
前端小白2018 2018-05-16 08:15:47

        作为初学者,研究这些东西会把人绕晕的,从而可能会打击到自己的学习信心。
        这样的代码读起来很费劲,有谁会在程序中写进这样的代码呢?除非只是为了研究而研究。

提问者 Vincon 2017-03-16 16:01:05

第一行是 m+n赋值给x    最后m再自加1么?

第二行 m先自减1 然后加n 最后赋值给y么?

这样理解对不对, 那括号有什么关系?什么用。

  • 这样理解不对 第一行中m先进行自加运算,此时m已经比原来大了,然后将m++这个表达式的值与n值相加,最后将所加的值赋值给x m++这个表达式的值即为m
    2017-07-21 20:39:43
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师