问题
单项选择题
下列程序的输出结果是( )。
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,c=5,d=2,e,f,g;
e=f2(f1 (a,b),f1 (c,d));
f=f1 (f2(a,b),f2(c,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,int y){return x>yx:y}和int f2(int x,int y){return x,>yy:x;}的定义可知,如果x>y成立,则函数n返回x的值,函数f2返回y的值。所以f1(a,b)=4,f1(c,d)=5,f2(a,b)=3,f3(c,d)=2故e=f2(4,5)=4,f=f1(3,2)3,g=4+3+5+2-4-3=7。