问题
单项选择题
有以下程序#include<stdio.h>int fun(int x;int y){ if(x=y)reurn(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函数,将变量b,c的值传给形参x,y,在fun()函数中执行if语句,判断b和c的值是否相等,由于在主函数中赋初值b=5,c=6,所以判断条件不满足,执行else语句,返回表达式(x+y)/2的值,即:(5+6)/2,因为参数的类型都为int型,所以结果也为整型:5,第二次调用时8和5也不相等,所以返回值为6,因此,选项B是正确的。