当然不行了,因为像int array[10]是建一个静态数组,其中的10不能是变量,虽然a已经赋值,但由于我在以后的进程中仍然能对a赋值,C++是绝对不允许这样的事发生的,你可以在程序开头定义一个常量比如:
#define a=10;或const int a = 10; 这样a在一般的情况下就不能改变了。
如果你想创建一个能改变数组个数的数组,你可以创建一个动态数组。比如int a;cin>>a;int *p=new int array[a];这样你创建了一个可包含a个元素的数组,而且以后还可以添加或缩减。不过在你创建完毕之后一定要加delete []p;否则内存不能释放了。
不过本人认为还是用vector或deque好,两者非常类似,懂其中一个就理解令一个了。
在头文件中加#include<vector>或#include<deque>就可以用了
vector<int>a;
int n;
while(cin>>n)
a.push_back(n);
这样你的数据就被“一个一个”扩充到数组a[]里面了,具体资料你可以查一些资料,很多的书和网页上都有介绍,总之vector的功能很强大,建议掌握。
温馨提示:答案为网友推荐,仅供参考