问题 单项选择题

请读程序:
#include<stdio.h>
func(int a,int b)
int c;
c=a+b;
return c;

main()
int x=6,y=7,z=8,r,
r=func((x-,y++,x+y),z-);
printf("%d\n",r);

上面程序的输出结果是_______。

A.11

B.20

C.21

D.31

答案

参考答案:C

解析:[评析] 函数func()的作用是返回两个形参的和,第一个形参是x、y分别自减和自增后的和,其中(x-,y++,x+y)是一个逗号表达式,它的值应该等于x+y,所以整个表达式(x-,y++,x+y)的值为13,而第二个形参的值为8(根据语法规则,应当先使用,后自增),所以func()的返回值为13+8=21。

选择题
选择题