A-A+

有以下程序 #include<stdio.h> int fun(int x;int y) {

2022-08-06 00:28:39 问答库 阅读 173 次

问题详情

有以下程序 #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("%dn",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是正确的。

考点:程序