欢迎来到考试题库网 考试题库官网

问答题

使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,即使程序在屏幕输出以下类似内容:
0012FF6810012FF3C5
0012FF6C20012FF444
0012FF7030012FF4C3
0023FF7440012FF542
0012FF7850012FF5C1
006AFDCC~006AFDEF数据可能因为机器的不同,程序输出的内容会有差异。只要相差为4的连续地址即可。
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。
试题程序:
#include<iostream>
usingnamespacestd;
intmain()
{
int*P,a[5]={1,2,3,4,5};
double*q,b[5]={5.0,4.0,3.0,2.0,1.0);
intx;
P=a;
q=b;
//********error********
for(x=0;x<=5;X++)
//********error********
cout<<p+X<<""<<(p+x)<<""<<q+X<<""<<
(q+x)<<endl;
return0;
}

    【参考答案】

    (1)应改为“for(x=0;x<5;x++)”。
    (2)应改为“cout<<p+X<<""<<*(p+X)((…’<(q+x<<””<<*(q+x)<<endl;”。
    【解析】本题中根据数组a、b的定义。它们都有5个元
    素,而第1处的“for(x=0;x<=5;x++)”循环了6次,应该是5次,所以在第1处将其修改为“for(x=0;x<5;x++)”;第2处的P变量为指针型变量,p+x为糯向数组中第X个元素的地址,这里要输出的是存储单元的内容,所以使用“*”指针元素符,即修改为“cout<<p+x<<""<<*(p+x)<<""<<q+x<<""<<*(qq-x)<(emdl;”。

    (↓↓↓ 点击下方‘点击查看答案’看答案解析 ↓↓↓)

    点击查看答案&解析

    相关考题