问题
单项选择题
以下程序的输出结果是
main() int a=5,b=4,c=6,d;
printf("%d\n", d=a>b(a>c a: C) :(B) );
A.5
B.4
C.6
D.不确定
答案
参考答案:C
解析: 本题考核的知识点是条件表达式的使用.在C语言中问号表达式(如: a>ca:c;)的计算规则为:如果a>c为真,那么表达式的值为a的值;否则表达式的值为C的值。本题中的printf()函数中的输出表达式,首先计算括号内的条件表达式,它的值为6(a>ca:c中a>c即5>6为假故该表达式的值为c的值即为6),然后再计算外面表达式(等价于a>b6:b)的值,同理可得该表达式的值为6,将值6赋值给d,因此最后输出该表达式的值为6,所以,4个选项中C为所选。