选择题

有以下程序

#include
int m1(int x,int y)
{
   return x<=y ? x :y;
}
int m2(int x,int y)
{
   return x<=y ? y :x;
}
int fun(int a,int b)
{
   return a+b;
}
main()
{
   int x=2,y=3,z=1;
   printf("%d\n", fun(m1(x,y),m2(y,z)));
}

程序的运行结果是(     )。

【正确答案】 A
【答案解析】

函数 m1()返回两个参数中较小的数值, 函数 m2()返回两个参数中较大的数值, 函数 fun()返回两个参数之和, 所以fun(m1(x,y),m2(y,z))=fun(m1(2,3),m2(3,1))=fun(2,3)=5, 答案选择 A 选项。