使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正错误,使得程序正常运行。并使程序输出结果为: ABCDEF ABCDEF ABCDEF 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//*

admin2016-10-28  32

问题 使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正错误,使得程序正常运行。并使程序输出结果为:
ABCDEF
ABCDEF
ABCDEF
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error******的下面。
#include<iostream.h>
void main()
{
//********error********
char s1[]="ABC
"DEF";
//********error********
char s2[]="ABCDEF";
//********error********
char s3[]="ABC"+
"DEF";
cout<<s1<<endl;
cout<<s2<<endl;
cout<<s3<<endl;
return;
}

选项

答案(1)char s1[]="ABC" (2)char s2[]="ABC\ (3)char s3[]="ABC"

解析 (1)字符串数组以“:”结束赋值语句,所以“ABC“DEF”应该是字符串数组s1的赋值语句,它的错误提示“modi1.cpp(5):error C2001:newline in constant”,说明“DEF”被认为是新的值,根据题目要求它其实应该是与ABC是一个数组串的,所以应该在”ABC后面添加“"”,即第1个标识下修改为“char s1[]="ABC"”。
(2)根据题目中给出的输出结果,知道s2的输出也是ABCDEF,那么说明第2个标识下的s2值应该是ABCDEF,第一行与第二行是一个字符串。在C++中,在一个字符串中最后一个字符为“\”,则标识它是续行符,下一行的字符是该字符串的一部分,所以在第一行的ABC后面添加“\”,即“char s2[]="ABC\”。
(3)字符串数组s3的赋值语句,错误提示“modi1.cpp(12):error C2110:cannot add two pointers”不能添加两个指针,不是用“+”来连接的,两个字符串变量之间不可以用“+”连接,所以这里删除“+”,即第3个标识下修改为“char s3[]="ABC"”。
转载请注明原文地址:https://kaotiyun.com/show/m7Np777K
0

最新回复(0)