有以下程序: #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: pri

admin2019-06-12  15

问题 有以下程序:
#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)));
程序运行后的输出结果是(    )。

选项 A、3
B、6
C、8
D、12

答案B

解析 fun的功能是求两数的平均数,并且参数和结果都为整型。题中是用一个函数作为另一个函数的参数,所以应该先做里面嵌套的函数即fun(b,c),值为5。fun(2*a,fun(b,c))即为计算fun(2*4,5),所以结果为(5+8)/2=6。
转载请注明原文地址:https://jikaoti.com/ti/WWf0FFFM
0

最新回复(0)