有如下程序: #include<iostream> using namespaee std; int fun(char x,char y) { if(x>y) return x; return y;

admin2021-06-10  20

问题 有如下程序:
    #include<iostream>
    using namespaee std;
    int fun(char x,char y)
    {
    if(x>y)
    return x;
    return y;
    }
    int main( )
    {
    int a(9),b(8),e(7);
    cout<<fun(fun(a,h),fun(b,c));
    return 0;
    }
    运行后的输出结果是(    )。

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

答案B

解析 fun()函数接收两个字符参数x,y,比较两个字符的ASCII码大小,返回ASCII码较大的字符变量的ASCII码值;程序首先定义三个整数a,b,c,初始化值分别为9,8,7,然后输出表达式fun(fun(a,b),fun(b,c))的值,由于a>b,所以fun(a,b)返回值为a,b>c,fun(b,c)返回值为b,所以fun(fun(a,b),fun(b,c))等价于fun(a,b),也就等价于a的值,所以程序输出9,本题答案为B。
转载请注明原文地址:https://kaotiyun.com/show/O3fp777K
0

最新回复(0)