A-A+
下列程序的输出结果是()。 int f1(int x int y){return x>y?x
问题详情
下列程序的输出结果是()。 int f1(int x,int y){return x>y?x:y;} int f2(int x,int y){return x>y?y: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,%dn,e, f,g); }
A.4,3,7
B.3,4,7
C.5,2,7
D.2,5,7请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:A
解析:根据函数intf1(int,inty){returnx>y?x:y}和intf2(intx,inty){returnx,>y?y: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。