回 帖 发 新 帖 刷新版面

主题:能解释一下怎么错了

#include <iostream>
using namespace std;
int main(){
    int n,i;
    int *a;
    cin>>n;
    a=new int[];
    for(i=0;i<n;i++)
        a[i]=8;
    for(i=0;i<n;i++)
        cout<<a[i]<<'\t';
    delete []a;
    return 0;
}

回复列表 (共3个回复)

沙发

a=new int[];
有点诡异了吧,你认为系统知道要给你分配多大的空间吗?
修改为a=new int[n];

板凳

[code=c]
#include <iostream>
using namespace std;
int main(){
    int n,i;
    int *a;
    cin>>n;
    a=new int[n];//设定要分配空间的大小
    for(i=0;i<n;i++)
        a[i]=8;
    for(i=0;i<n;i++)
        cout<<a[i]<<'\t';
    delete []a;
    return 0;
}

[/code]

3 楼

数组要确定大小的LZ加个system("pause")可以看的很清楚

我来回复

您尚未登录,请登录后再回复。点此登录或注册