c语言 用指针方式实现逆序重新放置a数组中元素的值并输出。
时间: 2024-04-06 15:29:44 浏览: 101
可以使用如下代码实现:
```c
#include <stdio.h>
void reverse(int *arr, int size) {
int *p = arr, *q = arr + size - 1;
while (p < q) {
int temp = *p;
*p = *q;
*q = temp;
p++;
q--;
}
}
int main() {
int a[] = {1, 2, 3, 4, 5};
int size = sizeof(a) / sizeof(int);
// 输出原数组
printf("原数组:");
for (int i = 0; i < size; i++) {
printf("%d ", a[i]);
}
printf("\n");
// 逆序重新放置元素
reverse(a, size);
// 输出新数组
printf("新数组:");
for (int i = 0; i < size; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
原数组:1 2 3 4 5
新数组:5 4 3 2 1
```
其中 `reverse` 函数使用了指针,将数组的首尾元素对调,然后指针向中间移动,直到两个指针相遇。在 `main` 函数中,先输出原数组,然后调用 `reverse` 函数对数组进行逆序操作,最后输出新数组。
阅读全文