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

来源:学生作业帮助网 编辑:作业帮 时间:2024/10/09 09:36:27
若x为int型变量,x=2;则执行x+=x/=x*x;后,x的值为(),谢谢了
xSN@>P8Nyi-SSTQH h)HEED@ qRݵy/t>"!ݙ33gvgpC=.7nWꔧ9\#{{xx9Ay.!b4U*<;˳"gnABOasIԪh*Nś`oVNonQHx;BM&xy=2HE:?% H }LZKL I :! `/̧7*SK8OE]ʗJ3yKETxGC6">?-Xv.,3EY9.˚fdYE ,eI o䬖fEK9VM0 eYӒ _9@|1qd1.XIje8SdKf25|p3KO:YE^{<|+I{ovMe48!ר^\ &hazhE(xÕ6:_9w! (n ʨ_q+hp4dE{ʛQm̑TwynOŧbAsWW6ÝnP"c Ljq;@=X"3Wd\G-/o1+

若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所在的地址.