用c语言编写一个程序要求利用间接访问方式,把一个整型数组的若干元素按相反顺序输出
时间: 2024-04-30 17:22:03 浏览: 16
下面是一个利用间接访问方式,将一个整型数组的若干元素按相反顺序输出的C语言程序:
```c
#include <stdio.h>
void reverse(int *arr, int size)
{
int i, temp;
int *p1 = arr, *p2 = arr + size - 1;
for (i = 0; i < size / 2; i++) {
temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
}
int main()
{
int arr[5] = {1, 2, 3, 4, 5};
int i;
printf("Original array:\n");
for (i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
printf("\n");
reverse(arr, 5);
printf("Reversed array:\n");
for (i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
在上面的代码中,`reverse()` 函数使用两个指针 `p1` 和 `p2` 分别指向数组的头和尾,然后交换它们指向的元素,直到它们相遇。`main()` 函数中先输出原始数组,然后调用 `reverse()` 函数将数组反转,最后输出反转后的数组。