用C++在循环结构中每循环一次向数组中写入一个整数,数组需要动态分配并且可以自动扩展,以保证未退出循环之前不会溢出。
时间: 2023-06-02 22:02:43 浏览: 74
#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr = NULL; // 初始化指针为 NULL
int size = 0; // 数组大小
int input; // 输入的整数
while (1) { // 循环结构
printf("请输入一个整数:");
scanf("%d", &input);
if (input == -1) { // 输入 -1 退出循环
break;
}
if (size == 0) { // 如果数组大小为 0,则申请一块内存
arr = (int *) malloc(sizeof(int));
size++;
} else if (size % 10 == 0) { // 如果数组大小是 10 的倍数,则扩展数组
arr = (int *) realloc(arr, (size + 10) * sizeof(int));
size += 10;
}
arr[size - 1] = input; // 将输入的整数写入数组中
size++; // 数组大小自增
}
printf("数组中的元素为:");
for (int i = 0; i < size - 1; i++) {
printf("%d ", arr[i]);
}
printf("\n");
free(arr); // 释放内存
return 0;
}
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)