A-A+
有以下程序段 int k=0 a=1 b=2 c=3; k=a<b ? b:a; k=
问题详情
有以下程序段 int k=0, a=1, b=2, c=3; k=a<b ? b:a; k=k>c ? c:k; 执行该程序段后,k的值是
A.3
B.2
C.1
D.0请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:B
解析:本题考查的知识点是条件表达式.条件运算符?:是C语言中唯一的三目运算符,它的规则是先计算左边运算分量,如果为“真”(非0),则返回中间运算分量的值,否则返回右边运算分量的值。本题中因为a<b为“真”,所以第1个条件表达式的值为b的值2,所以k=2。然后又因为k>c为“假’,所以第2个表达式的值为k的值2。所以本题应该选择B。