问题 单项选择题

有以下程序:
#include<stdio.h>
int fun(int x,int y)
if(x==y)return(x);
else return((x+y)/2);

main()
int a=1,b=2,c=3;
printf("%d\n",fun(2*a,fun(b,c)));

程序运行后的输出结果是( )。

A.2

B.3

C.4

D.5

答案

参考答案:A

解析: fun(b,c)即fun(2,3),2!=3,所以返回(2+3)/2=2;fun(2*a,2)即fun(2,2),2=2,所以返回2。

选择题
填空题