![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
C语言题。 若 w,x,y,z 均为int 型变量,则执行下面的语句后,
w=(1),x=(2),y=(3),z=(4)。w=5;x=4;y=w*w*w;z=--x*=--x*--x;我算的Z=27,答案都没有,肯定错了,求解!!...
w=(1), x=(2), y=(3), z=(4)。
w=5; x=4;
y=w *w *w ;
z=--x*=--x*--x;
我算的Z=27,答案都没有,肯定错了,求解!! 展开
w=5; x=4;
y=w *w *w ;
z=--x*=--x*--x;
我算的Z=27,答案都没有,肯定错了,求解!! 展开
1个回答
展开全部
首先你这个代码是有错了,运算符号左边不能是表达式,所以--x*=这里肯定会报错。
如果不考虑运行,单独看算法。
首先看运算符号优先级 '--' > '*' > '='/'*='
所以z=--x*=--x*--x;相当于代码:
--x;
--x;
--x;
z=x*=x*x;
x初值4,自减3次后=1,赋值符号从右往左结合,先算x*=x*x,此时x=1;最后z=x。
所以结果z是1。
你看看和答案相同不。
更多追问追答
追问
抱歉我打错了-_-||那个确实没有等号,就是z=--x*--x*--x; 我没答案。。不过选项里有1。谢谢解答😬️
抱歉我打错了-_-||那个确实没有等号,就是z=--x*--x*--x; 我没答案。。不过选项里有1。谢谢解答😬️
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询