Prog1.c 【程序设计】 题目:编写函数实现将一个整型一维数组反序存放。要求使用指针作为函数参数, 数组的输入和结果输出在主函数中完成。
时间: 2024-02-24 19:55:36 浏览: 136
可以使用以下代码实现:
```c
#include <stdio.h>
void reverse(int *arr, int len) {
int *p1 = arr; // 指向数组首元素的指针
int *p2 = arr + len - 1; // 指向数组末尾元素的指针
while (p1 < p2) {
int temp = *p1; // 交换p1和p2指向的元素
*p1 = *p2;
*p2 = temp;
p1++; // p1指针向后移动
p2--; // p2指针向前移动
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(arr[0]);
printf("Original array: ");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
reverse(arr, len);
printf("\nReversed array: ");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
在这个程序中,我们定义了一个名为“reverse”的函数,它接受一个整型指针数组和整型数组的长度作为参数。该函数使用两个指针p1和p2指向数组的首尾元素,并在一个while循环中交换这两个指针指向的元素,直到它们相遇。在主函数中,我们定义了一个整型数组,并使用sizeof运算符计算出数组的长度。然后,我们调用reverse函数来反转数组,并在控制台上输出反转后的数组。
阅读全文