问题
单项选择题
有以下程序:
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),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
解析: 本题考查的是函数的综合应用。程序开头定义了两个函数f1()、f2(),每个函数都只有一条语句,在f1()中是“如果x>y则返回x否则返回y”,即返回两个参数中较大的那一个,f2()则正好相反,返回较小的。主函数的语句e=f2(f1(a,b),f1(c,d));是使用两次调用f1()函数的返回值作为f2()函数的参数,并将f2()的返回值赋给变量e。a、b中较大的数是a为4,c、d中较大的数是c为5,4和5中较小的数是4,所以结果e=4。同理可以推出f=3,那么g=a+b+c+d -e-f=4+3+5+2-4-3=7。故本题应该选择A) 。