运算完下面的C语言程序段以后,a的值是______,b的值是______,c的值是________。

来源:百度知道 编辑:UC知道 时间:2024/06/30 02:51:05
int x=10,y=9;
int a,b,c;
a=(--x==y++)?--x:++y; b=x++; c=y;
8 9 10 怎么得来的?过程?

a=8
//三目运算,(--x)为9,(y++)为9,之后自增,所以(--x==y++)为真,执行 a=--x,所以a=9,x=8,y=10.

b=8
//b=x++;即b=8,然后x+1,所以b=8,x=9,y=10.

c=10
//c=y

C 语言唯一的三元运算符.
a=0;b=0;c=10
y++ 优先级大于 ==
(--x==y++)?此条件表达式为假,所以A =0;y=10;
而且只执行后面c=y这代码.所以c=10;b没有执行,初始值为0

8 9 10