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

admin2009-09-28  19

问题 有以下程序        #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是正确的。
转载请注明原文地址:https://kaotiyun.com/show/w9Wp777K
0

最新回复(0)