C++用指针输入数组,变量只能有指针,输入为-1时停止输入,只取-1前的数据
时间: 2023-12-18 20:02:43 浏览: 84
可以使用指针来输入数组,然后使用循环判断输入是否为-1,如果是则停止输入,否则将输入的值存入数组中。具体实现代码如下:
```c++
#include <iostream>
using namespace std;
int main() {
const int MAX_SIZE = 100; // 数组最大长度
int arr[MAX_SIZE]; // 数组
int* p = arr; // 指向数组的指针
int num; // 输入的数值
// 循环输入数组元素
while (cin >> num && num != -1 && p < arr + MAX_SIZE) {
*p = num; // 将输入的值存入数组
p++; // 指向下一个数组元素
}
// 输出数组元素
for (int* q = arr; q < p; q++) {
cout << *q << " ";
}
cout << endl;
return 0;
}
```
在上面的代码中,我们首先定义了一个数组 `arr` 和一个指向数组的指针 `p`,并将指针初始化为指向数组的首元素。然后使用 `while` 循环输入数组元素,判断输入的值是否为-1并且数组未满,如果是则将输入的值存入数组中,同时指针指向下一个数组元素。最后使用 `for` 循环输出数组元素,循环条件是指针小于数组末尾的地址,输出每个数组元素的值。
阅读全文