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

admin2020-06-29  28

问题 使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正错误,使得程序正常运行。并使程序输出结果为:
    ABCDEF
    ABCDEF
    ABCDEF
    注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//********error********的下面。
    1  #include
    2    void main()
    3  {
    4    //********error********
    5    char s1[]=”ABC
    6    "DEF";
    7    //********error********
    8    char s2[]="ABC
    9   DEF";
    10    //********error********
    11    char s3[]=”ABC"+
    12    “DEF”;
    13    cout<    14    cout<    15    cout<    16    return;
17    }

选项

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

解析 程序要求输出字符串数组的值。从已定源程序的main主函数开始入手,可以看出程序通过输出函数cout实现三个字符串数组值的输出。
    [解题思路]
    (1)字符串数组以“;”结束赋值语句,所以“ABC“DEF”应该是字符串数组sl的赋值语句,它的错误提示“modil.cpp(51:error C2001:newline in constant 9.1说明“DEF”被认为是新的值,根据题目要求它其实应该是与ABC是一个数组串的,所以应该在”ABC后面添加“””,即第1个标识下修改为“char sl[]=”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://kaotiyun.com/show/fByp777K
0

最新回复(0)