一个破破的笔试题

今天去酱油一个笔试,遇到一个比较费解的题:i+++i,一直不明白为什么结果是2?今天甚至跑去看了汇编的代码,但是还是搞不懂,后来问了一老师得到如下解释::i+++i解释成i++ +i,如果表达式为“子表达式1 操作符 子表达式2”,通常的计算顺序为:“子表达式2、子表达式1、表达式”,这样你就可以理解为什么运算结果为2了,我在ubuntu中用gcc测试过,是这样的结果。如果表达式为“子表达式1 操作符 子表达式2”的计算顺序为:“子表达式1、子表达式2、表达式”,那么两段代码的计算结果都应为3,我在mac的xcode中测试就是这样的结果。所以说程序这样的书写风格是不好的,有二义性。

个人感觉也就是只能这样才可以解释的明白了这三个+是这样的结果了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值