使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为: Max is 7 提示:max()函数实现找出两个数中的最大值,并作为函数值返回。 注意:错误的语

admin2019-05-14  34

问题 使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为:
    Max is 7
    提示:max()函数实现找出两个数中的最大值,并作为函数值返回。
    注意:错误的语句在//******error******的下面,修改该语句即可。
1  #include<iostream>
2  using namespace std;
3  //********error********
4  int max(int a,int b)
5  {
6    if(a<b)
7    {
8    int t=a;
9    a=b;
10    b=t;
11    }
12    return b;
13 }
14  int main()
15  {
16    int m=-3;
17    int n=7;
18    //******error******
19    max(-3,n);
20    cout<<’’Max is’’<<m<<ena1;
21    return 0;
22  }

选项

答案(1)int max(int&a,int&b) (2)max(m,n);

解析 函数参数传递形式有多种:将变量名作为实参和形参、传递变量的指针和传送引用方式,将变量名作为实参和形参方式,传递是单向的,在函数执行过程中形参的值发生变化不会传回实参,而指针和引用方式在函数执行过程中形参会影响实参。函数max返回最大值,而在主函数内并没有使用其返回值,而是输出m值,可知在max函数类已将最大值存放在m里,因此max函数采用的是传递引用方式。
    (1)由审题分析可知max函数采用的是传送引用方式传递参数,因此第1个标识下应该为int max(int &a,int &b)。
    (2)调用max时,传递引用时直接使用变量名即可,第2个标识下应改为“max(m,n)”。
转载请注明原文地址:https://kaotiyun.com/show/nb8p777K
0

随机试题
最新回复(0)