C语言,有关自加自减题,请帮忙解析一下O(∩_∩)O~~

发布时间:2024-05-17 00:04 发布:上海旅游网

问题描述:

若 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;

问题解答:

++,--是以语句为单位执行的。

y=w++*w++*w++; 因为是后缀++,所以“先运算,后--”。
而这个“后”到什么时候呢??整句语句结束以后才会去执行。
所以y=5*5*5=125 ,结束后w=8,因为++了3次

z=--x*=--x*--x;虽然有2个等号,当时依然是一句语句,因为只有一个';'
。由于这里是前缀--,所以先--,后运算。导致x在还没开始运算的时候就已经自减了3次等于1了。所以z的值为1

孩子 不要理会这种代码 更不要写这种代码
除了让别人看不懂 没有任何意义

y=5*6*7=210
w的值变为w=8
z=3*2*1=6
x的值变为x=1

热点新闻