下面程序的输出是? int fun (int x,int y) { if(x==y) return(x); return((x+y)/2); } int main() { int a=4,b=5,c=6; printf("%d\n", fun(2*a, fun(b, c))); }
答案解析
核心考点是函数递归调用和基本算术运算。首先计算fun(b, c)即fun(5, 6),返回(5+6)/2=5。然后计算fun(2*a, 5)即fun(8, 5),返回(8+5)/2=6。所以正确答案是B。A、C、D选项计算错误。
正确答案:B