设有如下程序段:int x=2002,y=2003;printf("%d\n",(x,y))

来源:百度知道 编辑:UC知道 时间:2024/05/20 06:09:33
要解析!!谢!!!!!!
则以下叙述中正确的是
A) 输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B) 运行时产生出错信息
C) 输出值为2002
D) 输出值为2003

选D,逗号表达式的一般形式为 表达式1,表达式2
逗号表达式的求解过程:先求解表达式1,在求解表达式2.
整个逗号表达式的值是表达式2的值。
例如:
a=3*5,a*4
赋值运算符的优先级别高于逗号运算符,,先求解a=3*5 得到a=15,然后求解a*4 ,得到60.
整个逗号表达式的值为60。
告诉你这些是想让你知道表达式1也是有用的

应该是选D:

1.逗号运算符为顺序求值运算符,表达式的值为最后一项的值.

2.(x,y)的值为y的值 :2003

所以输出值为2003 选D

选D吧,(x,y)是一个逗号表达式,表达式的值是最后一项的值,也就是y的值

对,逗号表达式的值就是最后一项的值

楼上说得对.