使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: This is a greart! Hello Hello 注意:错误的语句在//******error

admin2019-05-14  24

问题 使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
    This is a greart!
    Hello
    Hello
    注意:错误的语句在//******error******的下面,修改该语句即可。
1  #include<iostream.h>
2  class CMyClass
3 {
4  public:
5    void display1()
6    {
7    cout<<’’This is great!’’<<end1;
8    }
9    void display2()
10    {
11    //********error********
12    char str[5]=’’Hello’’;
13    cout<<str<<end1;
14    }
15    //******error******
16    void display3(char string)
17    {
18    //******error******
19   cout<<string<<end1
20    }
21  };
22  void main()
23  {
24    CMyClass myclass;
25    myclass.display1();
26    myclass.display2();
27    myclass.display3(’’Heiio’’);
28  }

选项

答案(1)char str[6]=’’Helio’’; 或char str[]=’’Hello’’; (2)void display3(char*string) 或void display3(char string[]) (3)cout<<string<<end1;

解析 类CMyClass有3个成员函数:display1()、display2()和display3(),display1()和display2()不带参数,display3()带有参数,函数功能分别向屏幕打印输出不同的字符串。
     (1)”Hello”字符串的长度为5,存放在字符数组中的话,字符数组的长度至少为6,因为字符数组的最后一个字符为NULL,故第1个标识下字符数组长度为5太短,应改成“char str[6]=’’Hello’’;”或“char str[]=”Hello”;”。
    (2)char string表示string为一个char变量,代表一个字符而不是一串字符,程序要求输出一串字符显然字符变量做不到,应该为字符指针或字符数组,故第2个标识下应改为“void display3(char*string)”或“void display3(char string[])”。
    (3)编译程序发现第3标识下有错误,观察程序可知第3个标识下语句结束没有分号,而C++语句必须以分号结束,应加上分号,即第3表示下应改为“cout<<string<<  end1];”。
转载请注明原文地址:https://kaotiyun.com/show/fE8p777K
0

最新回复(0)