单选题 以下程序的输出结果是______。
#include<stdio.h>
main()
{ int a=4,b=3,c=2,d=1;
printf("%d",a<b?a:d<c?d:b);
}
【正确答案】 A
【答案解析】[解析] 条件表达式的格式为:"a?b:c",它的功能是:当a为真时,表达式的值等于b的值;当a为假时,表达式的值等于c的值。因为条件运算符的结合方向为“自右向左”。因此,当表达式中嵌套使用条件表达式时,应先计算右边的条件表达式,再计算左边的条件表达式。
题中应先计算“d<c?d:b”的“d<c”关系表达式的值,因为“d=1<c=2”为真,所以取第一个表达式的值,即d的值作为整个表达式的值。接着计算“a<b?a:d”,“a=4<b=3”为假,取第二个表达式的值,即d的值作为整个表达式的值。