将数组中n个整数按相反顺序存放,用指针变量做实参 c语言
时间: 2024-03-16 13:41:42 浏览: 99
可以使用指针变量作为实参,通过指针操作实现将数组中n个整数按相反顺序存放的功能。
以下是示例代码:
```c
#include <stdio.h>
void reverse(int *arr, int n) {
int *p1 = arr;
int *p2 = arr + n - 1;
while (p1 < p2) {
int temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(int);
printf("Before reverse: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
reverse(arr, n);
printf("After reverse: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
在这个示例中,reverse 函数接受两个参数,第一个参数是指向数组的指针,第二个参数是数组的长度。函数内部使用两个指针 p1 和 p2 分别指向数组的开头和结尾,然后交换它们所指向的元素,直到 p1 和 p2 相遇为止,即完成了数组元素的反转。在 main 函数中,先输出原数组,然后调用 reverse 函数,再输出反转后的数组。
阅读全文