问题 单项选择题

有以下程序:

#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。

填空题
单项选择题