问题 填空题

有以下程序:
int fl(int x, int y)return x>yx:y;
int f2(int x, int y)return x>yy:x;
main()

int a=4, b=3, c=5, d=2, e, f, g;
e=f2(f1(a, b), n(c, d));
f=n(f2(a, b), f2(c, d));
g=a+b+c+d-e-f;
printf("%d, %d, %d\n", e, f, g);

程序运行后的输出结果是______。

答案

参考答案:4,3,7

解析: 在语句f2(f1(a, b), f1(c, d)); 中,函数f1作为函数f2的参数被调用,f1的返回值是f2实参的值,所以有:
f1(a, b)=f1(4, 3)=4;
f1(c, d)=f1(5, 2)=5;
e=f2(f1(a, b), f1(c, d)=f2(4, 5)=4。
同理有:
f2(a, b)=f2(4, 3)=3;
f2(c, d)=f2(5, 2)=2;
f=f1(f2(a, b), f2(c, d))=f1(3, 2)=3;
g=7。

单项选择题
判断题