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

admin2016-10-28  27

问题 使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
This is a greart!
Hello
Hello
注意:错误的语句在//******error******的下面,修改该语句即可。
#include<lostream.h>
class CMyClass
{
public:
void displayl()
{
cout<<"This is great!"<<endl;
}
void display2()
{
//******error******
char str[5]="Hello";
cout<<str<<endl;
}
//******error******
void display3(char string)
{
//******error******
cout<<string<<endl
}
};
void main()
{
CMyClass myclass;
myclass.display1();
myclass.display2();
myclass.display3("Hello");
}

选项

答案(1)char str[6]="Hello";或char str[]="Hello"; (2)void display3(cha* string)或void display3(char string[]) (3)cout<<String<<endl;

解析 (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<<endl;”。
转载请注明原文地址:https://kaotiyun.com/show/U7Np777K
0

最新回复(0)