问题
单项选择题
以下程序的输出结果是
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。