x++ + x++

考试的一道题目,按理说结果应该是依赖于编译器,但是题目也没说。假定是在gcc的环境下吧。总的解题步骤是:

1.先算所有的前增量操作,即先算所有的++x。

2.再取含有x的表达式的值。

3.执行后增量操作,即算x++。

如:

int x=9,y;

y = x++ + x++;

里面有两个含有x的表达式(x++),取值是9,所以y的值就是18,x最后是11.

若 y = ++x + ++x;

则先算两次++x,x就是11,再算两个x的表达式的值,所以y就是11 + 11 = 22.

若 y = ++x + ++x + x++;

则先算两次++x,x是11,再算三个x的表达式的值,即 11+11+11=33,最后再算x++,最后x就是12.

对于--x和x--也是一样的。

如 y = --x + --x/2;

结果就是y=10,x=7.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值