如何使用c++输入一段长度未知的数组,并得到数组长度
时间: 2024-10-03 07:03:15 浏览: 33
在 C++ 中,你可以使用 `std::vector` 或者动态内存分配来处理长度未知的数组。这里提供两种方法:
1. 使用 `std::vector`:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> arr; // 创建一个空的 vector
std::cout << "Enter the number of elements you want to add: ";
int n;
std::cin >> n;
for (int i = 0; i < n; ++i) {
int element;
std::cout << "Element " << i+1 << ": ";
std::cin >> element;
arr.push_back(element); // 添加元素到 vector 的末尾
}
// 现在 arr.size() 就是你输入的所有元素的数量
std::cout << "Array length is: " << arr.size() << std::endl;
return 0;
}
```
2. 动态内存分配:
```cpp
#include <iostream>
int main() {
int* arr = nullptr; // 初始化为 NULL
size_t len = 0;
std::cout << "Enter the number of elements you want to add: ";
std::cin >> len;
if (len > 0) {
arr = new int[len]; // 分配内存
for (size_t i = 0; i < len; ++i) {
int element;
std::cout << "Element " << i+1 << ": ";
std::cin >> element;
arr[i] = element; // 存储元素
}
}
std::cout << "Array length is: " << len << std::endl;
// 记得在不再需要数组时释放内存
if (arr) {
delete[] arr;
}
return 0;
}
```
在这两个例子中,程序会询问用户想要添加多少元素,然后获取并存储它们,同时计算出数组的实际长度。
阅读全文