c数组逆序输出
时间: 2025-05-18 13:09:44 浏览: 17
### C语言实现数组逆序输出
以下是通过动态分配内存的方式实现数组逆序输出的一个完整示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int number;
int *a;
int i;
printf("请输入数组的数量:");
scanf("%d", &number);
// 动态分配内存给指针变量 a
a = (int *)malloc(number * sizeof(int));
if (a == NULL) { // 检查内存是否成功分配
printf("内存分配失败\n");
return 1;
}
// 输入数组元素
for (i = 0; i < number; i++) {
printf("输入第 %d 个数字:", i + 1);
scanf("%d", &a[i]);
}
// 输出原数组顺序
printf("原始数组顺序为:\n");
for (i = 0; i < number; i++) {
printf("%d ", a[i]);
}
printf("\n");
// 输出逆序后的数组
printf("逆序后的数组为:\n");
for (i = number - 1; i >= 0; i--) {
printf("%d ", a[i]);
}
printf("\n");
// 释放动态分配的内存
free(a);
return 0;
}
```
上述代码实现了以下功能:
- 用户可以自由指定数组长度并依次输入数值[^1]。
- 使用 `malloc` 函数动态分配存储空间来保存用户输入的数据。
- 遍历整个数组两次,一次按正向打印数据,另一次按照反向打印数据。
- 完成操作后调用 `free()` 来释放之前申请的堆内存。
此程序能够满足基本需求,并且具备一定的灵活性和安全性检查机制。如果尝试分配内存失败,则会提示错误信息并退出程序运行。
阅读全文
相关推荐
















