抑郁症健康,内容丰富有趣,生活中的好帮手!
抑郁症健康 > x+=x-=x*x; 和 x-=x*x; x+=x;

x+=x-=x*x; 和 x-=x*x; x+=x;

时间:2019-06-04 03:17:39

相关推荐

独角兽企业重金招聘Python工程师标准>>>

原问题:

第一种情况:

int x=6;

问执行下列语句后x的值

x+=x-=x*x;

这个答案是-24。

首先明确一点赋值操作从右向左进行,而且这是一次赋值

(一次赋值就是这是一个式子,式子中间产生的值不会马上赋值回去,而是等整个式子运算结束)

x-=x*x => x=x-x*x

=6-6*6

=-30 (这是中间值不影响没参与运算的x)

x+=x => x=x+x (这俩x一个是原来的值,一个是中间值)

=6+(-30)

=-24

这是编译器的优化,只有完成一个式子的时候才往回赋值。

看第二种情况:

int x=6;

问执行下列语句后x的值

x-=x*x;

x+=x;

问这两步操作后的x。

这个答案是-60。

这是两步操作,所以产生的‘中间值‘’赋值回去了。这是非一次赋值

所以

第一步操作;

x-=x*x; => x=x-x*x

=6-6*6

=-30

第二部操作;

x+=x; => x=x+x (这俩x一样,是上一步的x改变后赋值回去的-30)

=-30+(-30)

=-60

如果觉得《x+=x-=x*x; 和 x-=x*x; x+=x;》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。