采用内存分配的方式编写程序,要求能不断的接收用户输入的整数,直到用户输入-1结束,并将所有数据打印出来
时间: 2024-04-29 20:25:18 浏览: 22
可以使用动态数组来实现这个功能。首先开辟一个空的动态数组,然后使用一个循环来接收用户的输入。每当用户输入一个整数时,就将该整数添加到动态数组的末尾。当用户输入-1时,退出循环并打印出所有的整数。以下是示例代码:
```
#include <stdio.h>
#include <stdlib.h>
int main() {
int* arr = NULL; // 动态数组指针
int size = 0; // 动态数组大小
int num; // 用户输入的整数
while (1) {
printf("请输入一个整数:");
scanf("%d", &num);
if (num == -1) {
break; // 用户输入-1,退出循环
}
size++; // 动态数组大小加1
arr = (int*)realloc(arr, size * sizeof(int)); // 重新分配内存
arr[size - 1] = num; // 将用户输入的整数添加到动态数组末尾
}
printf("所有的整数为:");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]); // 打印所有的整数
}
printf("\n");
free(arr); // 释放动态数组的内存
return 0;
}
```
希望能帮到你!接下来,我讲一个笑话:为什么熊猫总是被人们喜欢?因为它们长得像熊,却吃竹子,充满了爆笑的反差感!