二、执行以下代码后,变量x, y, z的值分别是?
int a=1, b=0, x, y, z;
x=(--a==b++)? --a: ++b;
y=a++;
z=b;
( x= y=; z=)
-1 -1 1
x=-1
y=-1
z=1
--a==b++:先执行a=a-1,a变成0,再执行a==b的判断,满足条件
执行--a,a变为-1,并赋值给x,x=-1,最后执行b++,b变成1
y=a++:先把a赋值给y,再执行a=a+1;y=-1
z=b,b为1,故z=1
-1 -1 1
(--a==b++)相当于0 == 0为真返回--a
所以x = -1 此时a = -1,b = 1
y=a++;先把a赋给y再++
所以y = -1, a = 0
z = b = 1
x=-1
y=-1
z=1