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

admin2019-04-18  34

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

选项

答案(1)char sl[]="ABC” (2)char s2[]="ABC\ (3)char S3[]="ABC”

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

最新回复(0)