那天不是说了,你还没理解,在编译时不能确定大小的数组,就不行,只能使用动态数组。
静态:
int arr[const_size_n] = {1,2,3,4,5,6,7,8..n}; //n个元素(n为常量)
int arr[] = {1,2,3,4,5,6,7,8..n}; //n个元素(n为常量)
动态:
int *parr = new int[size_n]; //n为变量,意思你可以在程序运行后确定
ex:
int size_n;
cin >> n;
int *parr = new int[size_n];
你说的先输入数,再判断自身大小,直接的用动态数组也不可行,因为你要能输入一个数,必须保证事先有这个数的位置(也就是堆内存)。
你不怕麻烦,就自己封装一个类。图简单就用容器类 比如:vector。
vector<int> ivec;
int num;
while (cin >> num)
ivec.push_back(num);
cout << ivec.size() << endl; //可以自己根据保存的元素确定大小
ps:这么晚了还在学习啊,精神可嘉,睡觉了哈,有什么问题先留着,明天帮你看!
[此贴子已经被作者于2007-8-6 0:19:40编辑过]