以下程序的输出结果是( )。 #include<stdio.h> main() {int a=4,b=3,c=2,d=1; printf("%d",a<b?a:d<c?d:b); }

admin2020-07-28  28

问题 以下程序的输出结果是(    )。
#include<stdio.h>
main()
{int a=4,b=3,c=2,d=1;
printf("%d",a<b?a:d<c?d:b);
}

选项 A、1
B、3
C、2
D、4

答案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的值作为整个表达式的值。
转载请注明原文地址:https://kaotiyun.com/show/OU3p777K
0

相关试题推荐
最新回复(0)