问题 单项选择题

下列程序的输出结果是( )。
int f1(int x,int y)return x>yx:y;
int f2(int x,int y)return x>yy:x;
main()
int a=4,b=3,e=5,d=2,e,f,g;
e=f2(f1(a,b),f1(e,d));
f=f1(f2(a,b),f2(e,d));
g=a+b+c+d-e-f;
printf("%d,%d,%d\n",e,f,g);

A) 4,3,7
B) 3,4,7
C) 5,2,7
D) 2,5,7

答案

参考答案:A

解析: 根据函数int f1(int x,int y){return x>yx:y;)和int f2(int x,int y){return x>yy:x;}的定义可知,如果x>y成立,则函数f1返回x的值,函数f2返回y的值。所以f1(a,b)=4,f1(c,d)=5,f2(a,b)=3,f2(c,d)=2故e=f2(4,5)=4,f=f1(3,2)=3,g=4+3+5+2-4-3=7。

单项选择题
单项选择题