c语言 使用函数调用,形参为指针,实参为数组,把一个数组逆序存放并输出
时间: 2024-02-01 11:13:03 浏览: 107
可以编写一个函数来实现这个功能,函数通过指针来操作数组。
下面是一个示例代码:
```c
#include <stdio.h>
void reverse(int* arr, int size) {
int temp;
for (int i = 0; i < size / 2; i++) {
temp = *(arr + i);
*(arr + i) = *(arr + size - i - 1);
*(arr + size - i - 1) = temp;
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(int);
printf("Original array: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
reverse(arr, size);
printf("Reversed array: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
该程序首先定义了一个函数 `reverse`,该函数接受一个整型指针和一个整型参数,用于逆序存放指针所指向的数组。
函数首先通过循环将数组中的第 i 个元素与倒数第 i + 1 个元素交换位置,从而实现数组的逆序存放。
在 `main` 函数中,我们定义了一个整型数组 `arr`,并计算出数组的长度 `size`。然后,我们输出原始数组的内容,调用 `reverse` 函数将数组逆序存放,最后再次输出逆序后的数组内容。
运行该程序,输出如下:
```
Original array: 1 2 3 4 5
Reversed array: 5 4 3 2 1
```
阅读全文