标准C++版本:
#include <iostream>
#include <vector>
using namespace std;
int getArrayLength(void)
{
cout << "请输入数组长度:" << endl;
int arrayLength = 0;
cin >> arrayLength;
return arrayLength;
}
void printVector(const vector<int>& arr)
{
for (auto i = 0; i < arr.size(); ++i)
{
cout << "arrayInt[" << i << "]=" << arr[i] << endl;
}
}
int main(int , char**)
{
vector<int> arrayInt;
arrayInt.resize(getArrayLength());
printVector(arrayInt);
return 0;
}
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/b999a9014c086e061a931a930a087bf40ad1cb2a?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
数组的元素值为vector自动初始化成员的值(int的值为0)。
既然你对这个问题困惑,说明你不了解vector,那么下面就是“类C”的C++版,有时候这种版本也有适用的场景:
#include <iostream>
using namespace std;
int getArrayLength(void)
{
cout << "请输入数组长度:" << endl;
int arrayLength = 0;
cin >> arrayLength;
return arrayLength;
}
void printVector(const int* pArr, int arrLength)
{
for (auto i = 0; i < arrLength; ++i)
{
cout << "arrayInt[" << i << "]=" << pArr[i] << endl;
}
}
int main(int , char**)
{
int* pArrayInt = nullptr;
int length = getArrayLength();
pArrayInt = new int[length];//这里没有对数组长度做判断,请知晓
printVector(pArrayInt, length);
delete[] pArrayInt;
return 0;
}
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/0bd162d9f2d3572c1f50b8048213632763d0c3b3?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
数组的元素为new出来的未被初始化的值