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

admin2009-04-15  21

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

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

答案8

解析 经过分析得出函数fun()的功能是比较形参x和形参y的大小,返回较小的一个。函数fun()有两个参数。本题中,首先定义了3个整型变量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。所以,4个选项中选项D符合题意。
转载请注明原文地址:https://kaotiyun.com/show/ZpXp777K
0

最新回复(0)