问题 单项选择题

以下程序的输出结果是
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为所选。

单项选择题
问答题 简答题