include <stdio.h> void maino intx=10,y=9; int a, b, a=(--x==y ++ )?--x:++y; b=x ++ ; c=y; printf("%d,%d,%d\n",a,b,c);
你有答案了?你代码很乱啊,我格式化一下,输出结果是8,8,9
void main()
{
int x=10,y=9;
int a, b,c;
a=(--x==y )?--x: y;
b=x ;
c=y;
printf("%d,%d,%d\n",a,b,c);
system("pause");
}
a=是个三元表达式,判断--x和y是否相等,由于x=10,--x就是9,y=9,所以条件成立,最终a = --x,x再减去1为8,所以a=8. b=x,前面已经论证x=8了,所以b就是8 y就没动过,所以c=9
8,8,10
9、-1、9