急求一条题目的解答!

来源:百度知道 编辑:UC知道 时间:2024/06/27 19:47:01
以下程序的输出结果是

main()

{ int a=5,b=4,c=6,d;

printf("%d\n",d=a>b?(a>c?a:c):(b));//希望热心的网友详细解答
d=a>b?(a>c?a:c):(b) 这句是什么意思啊???麻烦晒拉~~

}

A) 5 B) 4 C) 6 D) 不确定

表达式1?表达式2:表达式3

当表达式1为TRUE时,返回表达式2,否则返回表达式3

三目运算符,用来比较3个数的大小的~a>b?(a>c?a:c):(b)

选C;
三目运算符的运算规则。
先做a>c?a:c
因为a>c为假,整个表达式的值为C
再做d=a>b?c:b
因a>b为真,所以表达式的值为C的值。因C=6
所以输出d=6;