有以下程序 char fun(char x,char y) { if(x<y)return x; return y; } main() { int a=’9’,b=’8’,c=’’; printf("%

admin2009-04-15  32

问题 有以下程序    char fun(char x,char y)    { if(x<y)return x;        return y;    }     main()    {  int a=’9’,b=’8’,c=’’;    printf("%c\n",fun(fun(a,b) ,fun(b,c) ));    }    程序的执行结果是

选项 A、函数调用出错
B、8
C、9
D、7

答案8

解析 经过分析得出函数fun()的功能是比较形参x和形参y的大小,返回较小的一个。函数fun()有两个参数。本题中,首先定义了三个整型变量a、b和c,分别赋初值为9、8和7。然后执行函数fun(fun(a,b) ,fun(b,c) )。在该函数中分别将fun(a, b) 和fun(b,c) 函数的返回值作为该函数的两个实参。在函数fun(a,b) 中,由于a>b,故返回较小值b即8,在函数fun(b,c) 中,由于b<c,故返回较小值c即为7,因此调用函数 fun(fun(a,b) ,fun(b,c) )相当于执行函数fun(8,7),返回较小值即7。
转载请注明原文地址:https://kaotiyun.com/show/5oWp777K
0

最新回复(0)