首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于动态数组的一个有关问题

2012-11-09 
关于动态数组的一个问题下面是自己写的一个程序,为什么加入“delete [] p”后会出错?求教大神#includeiost

关于动态数组的一个问题
下面是自己写的一个程序,为什么加入“delete [] p;”后会出错?求教大神
#include<iostream>
using namespace std;

//秦九韶算法
int main()
{
int n;
float *p,value,x;

cout << "输入多项式的次数: ";
cin >> n;
  p = new float[n];
cout << "输入多项式系数:";
for( int i=0;i<=n;++i)
cin >> p[i];
value=p[0];
cout <<"输入x:";
cin >> x;
for(int i=1;i<=n;++i)
value=value*x+p[i];
cout << "多项式的值:" << value;
  //delete [] p;

return 0;
}


[解决办法]

C/C++ code
#include<iostream>using namespace std;//秦九韶算法int main(){int n;float *p,value,x;cout << "输入多项式的次数: ";cin >> n;  p = new float[n];cout << "输入多项式系数:";    for( int i=0;i<n;++i)//把=等号去掉,你数组越界了cin >> p[i];value=p[0];cout <<"输入x:";cin >> x;for(int i=1;i<=n;++i)value=value*x+p[i];cout << "多项式的值:" << value;delete [] p;return 0;}
[解决办法]
C/C++ code
#include<iostream>using namespace std;//秦九韶算法int main(){    int n;    float *p,value,x;    cout << "输入多项式的次数: ";    cin >> n;    p = new float[n+1];  //多加一位    cout << "输入多项式系数:";     for( int i=0;i<=n;++i)        cin >> p[i];    value=p[0];    cout <<"输入x:";    cin >> x;    for(int i=1;i<=n;++i)        value=value*x+p[i];    cout << "多项式的值:" << value;    delete [] p;    return 0;} 

热点排行