有以下程序 int f1[int x.int y){ return x>y?x:y; } int f2(int x, int y){ returrnx>y?y:x; } main ( ) { int a

admin2013-02-23  15

问题 有以下程序     int f1[int x.int y){  return x>y?x:y;  }     int f2(int x, int y){  returrnx>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,%d\n",c,f,g);    }    程序运行后的输出结果是

选项 A、4,3,7
B、3,4,7
C、5,2,7
D、2,5,7

答案1

解析 本题考查的是函数的综合应用.程序开头定义了两个函数f1()、f2(),每个函数都只有一条语句,在f1()中是“如果x>y则返回x否则返回广,即返回两个参数中较大的那一个, C()则正好相反,  返回较小的.  主函数的语句 e=f2(f1(a,b),f1(c,d));是使用两次调用n()函数的返回值作为f2()函数的参数,并将n()的返回值赋给变量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。所以,4个选项中选项A符合题意。
转载请注明原文地址:https://jikaoti.com/ti/nNn0FFFM
0

最新回复(0)