问题 单项选择题

以下程序的输出结果是
Fun(int x, int y)
return(x+y);
main()
int a=1, b=2, c=3, sum;
sum=Fun((a++, b++, a+b), c++);
printf("%d", sum);

A) 9
B) 8
C) 7
D) 6

答案

参考答案:B

解析: 逗号表达式a++,b++,a+b先计算a++,a=2; 再计算b++,b=3; 表达式的值就是a+b的值,为5。表达式c++的值是c递增前的值,为3。所以fun((a++,b++,a+b),c++)等价于fun(5,3),返回值为5+3=8。

单项选择题
不定项选择题