2019独角兽企业重金招聘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

转载于:https://my.oschina.net/zjllovecode/blog/1572468

最新文章

  1. Java虚拟机垃圾收集算法
  2. 淘宝自营“护肤品”精准引流加粉分享
  3. Linux平台安装MongoDB
  4. JavaScript实现图像处理----resizeImageWidth调整图像宽度算法(附完整源码)
  5. CodeCraft-21 and Codeforces Round #711 (Div. 2) D. Bananas in a Microwave 优化暴力
  6. listview刷新_Flutter NestedScrollView 滑动折叠头部下拉刷新效果
  7. javascript学习之使文本框中不能输入数字
  8. json标注工具与labelme安装
  9. web.config从.net framework3.5向4.0迁移注意事项
  10. django+echarts数据可视化(NBA球队数据可视化01)!
  11. TI 杯2019年全国大学生电子设计竞赛题
  12. c ringbuffer 源码_C语言 ringBuffer 实现
  13. 学习笔记之DNS配置(视图,日志,动态DNS)
  14. 1.认识华为数据通信
  15. OWASP的s-sdlc项目优秀分享
  16. 【科普园地】郭雷院士:系统的反馈原理及魅力
  17. 乐嘉留给15岁女孩的一封信
  18. 做微商,可不可以温柔一点
  19. tvb与亚视的十部巅峰代表作,论经典程度谁更胜一筹
  20. coreldraw x4如何重叠图片_CorelDRAW X4批处理功能介绍 如何链接图片而不是嵌入图片...

热门文章

  1. JS EXCEL表的操作
  2. 那些年啊,那些事——一个程序员的奋斗史 ——21
  3. 解决spring JdbcTemplate更新操作成功但数据库未插入值的方案
  4. PHP将图片和文字合成到一张背景图上
  5. 服务器无限刷石机推荐,【红石技巧】-世界上最快的刷石机
  6. Android 最全面试题汇总(问题+答案+详解链接)
  7. 边云协同,边缘云更出彩
  8. 响铃:718 Apple产品京东超级品牌日,如何反映互联网营销大趋势?
  9. 链表--逆时针旋转一个链表
  10. java计算工龄_java计算工龄