若x为int型变量,x=2;则执行x+=x/=x*x;后,x的值为(),谢谢了

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 09:27:50
若x为int型变量,x=2;则执行x+=x/=x*x;后,x的值为(),谢谢了

若x为int型变量,x=2;则执行x+=x/=x*x;后,x的值为(),谢谢了
若x为int型变量,x=2;则执行x+=x/=x*x;后,x的值为(),谢谢了

若x为int型变量,x=2;则执行x+=x/=x*x;后,x的值为(),谢谢了

x=0;

x+=x/=x*x;

按优先级 和 结合方向,先执行x*x  (结果为4),再执行x/=4,(即2/4,结果为0),此时x=0;最后执行x+=0;最终结果x=0.


因为评论中有人质疑说 x/=x*x时,x已经是4,结果为1.所以放上这个图.

程序不会骗你,你自己试就可以了.

为什么不是4,还是2呢,因为:x*x并未改变x的值,x*=x的结果才是4.

语句x/=x*x; 执行时先把x*x的结果存在临时存储区,再把x/4的结果存放在x所在的地址.