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

admin2020-03-15  13

问题 以下程序的输出结果是(    )。
    #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://jikaoti.com/ti/FnG0FFFM
0

最新回复(0)