一步一步解释一下为什么是这个答案

2025-05-10 09:09:16
推荐回答(2个)
回答1:

先说明一下:

--a:a的值先减去1,然后参加计算或赋值;

b++:b的值先参加计算、赋值或判断,然后加1;

++b:b的值先加1,然后参加计算或赋值;








哪一句不明白,请再追问。此题主要考++符号在前和在后的区别,两者是不一样的。

回答2:

慢慢来,一开始a=1,b=0
--a的意思是a先-1再代入式子,所以代入式子的时候a是0,b++是b先代入式子后+1,所以(--a==b++)就相当于0==0,算完后b=1。
因为0==0是对的,所以该式子为1;
1?--a:++b;这是一个三元表达式,如果问号前面的式子正确,则执行冒号前的式子,错误则执行冒号后的式子,因为1是永远正确的,所以执行--a。此时a为-1,所以整个式子的值为-1并赋予x;所以x=-1。
y=a++;a为-1先赋予y,后a再变成-2;所以y=-1。
z=b;此时的b是第二句话时候的b,就是1,赋予z;所以z=1。
总结就是x=-1,y=-1,z=1