定义一个存储10个整数的数组,通过指针变量访问输入10个整数存入数组,再通过指针变量逆序输出数组的元素
时间: 2024-09-16 07:00:55 浏览: 58
.编写一个函数,将数组中n个数按反序存放。 实验步骤与要求: 在主函数中输入10个数,并输出排好序的数。 编写函数invert()将10个数按反序存放。
4星 · 用户满意度95%
首先,我们可以定义一个动态大小的整数数组,然后使用指针来存取和修改数组内容。假设我们使用`malloc`分配内存空间,然后创建一个名为`arr`的数组和两个指针`ptr`和`end_ptr`。
```c
#include <stdio.h>
#include <stdlib.h>
// 动态分配存储10个整数的空间
int* create_array(int size) {
int* arr = (int*) malloc(size * sizeof(int));
if (!arr) {
printf("Memory allocation failed.\n");
exit(1);
}
return arr;
}
// 输入10个整数并存入数组
void input_numbers(int* arr, int n) {
for (int i = 0; i < n; ++i) {
scanf("%d", &arr[i]);
}
}
// 输出数组元素
void print_array(int* ptr, int n) {
for (int i = 0; i < n; ++i) {
printf("%d ", *(ptr + i)); // 逆序输出,从最后一个元素开始
}
printf("\n");
}
int main() {
int array_size = 10;
int* arr = create_array(array_size);
input_numbers(arr, array_size);
// 初始化指针
int* end_ptr = arr + array_size - 1; // 记录数组的末尾位置
int* ptr = arr;
// 逆序输出数组
printf("Array elements in reverse order:\n");
print_array(ptr, array_size);
free(arr); // 释放内存
return 0;
}
```
在这个程序中,`input_numbers`函数将用户输入的整数存储在数组中,`print_array`函数使用指针`ptr`从数组末尾开始,逆序打印出每个元素。
阅读全文