有以下程序:
#include< stdio.h >
int fun(int x,int y)
{
if(x==y)return(x);
else return((x+y)/2);
}
main()
{
int a=4,b=5,c=6;
printf("%d\n”,fun(2*a,fun(b,c)));
}
程序运行后的输出结果是( )。
【正确答案】 B
【答案解析】fun的功能是求两数的平均数,并且参数和结果都为整型。题中是用一个函数作为另一个函数的参数,所以应该先做里面嵌套的函数即fun(b,c),值为5。fun(2*a,fun(b,c))即为计算fun(2*4,5),所以结果为(5+8)/2=6。