C++程序中,怎样新建一个一维数组,数组大小由程序运行过程中输入的变量决定?

若用int n;cin>>n;int a[n];语句是不行的,编辑无法通过的,要怎么样才能解决呢?

//仔细看看这个程序就会了

#include<iostream>

using namespace std;

void main()
{
int i,n,*array;
cin>>n;//数组大小
array = new int(n);//动态创建数组
for(i=0;i<n;i++)
{//给每个数组元素赋值
array[i]=i;
}
for(i=0;i<n;i++)//输出每个元素的值
cout<<array[i];
cout<<endl;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-29
如果int a[n];
cin>>n;
这种定义是不对的,语法错误,
数组里[]里的数要是常量,或是常量表达式
第2个回答  2009-12-29
不能简单的用数组,要用链表,动态分配节点内存
第3个回答  2009-12-29
int n;
int *a;
cin>>n;
a=new int(n);
你可以向上面这样申请动态内存的方法来解决!
你上面的方法行不通,除非n确定!
相似回答