用c语言采用指针的方法逆置一维数组,用函数实现数组逆置,在主函数中输出逆置后的数组。
时间: 2024-02-01 21:13:01 浏览: 149
下面是一个示例代码,实现了通过指针逆置一维数组的功能:
```
#include <stdio.h>
void reverse(int *arr, int len);
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(int);
printf("Original array: ");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
reverse(arr, len);
printf("Reversed array: ");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
void reverse(int *arr, int len)
{
int temp;
int *start = arr;
int *end = arr + len - 1;
while (start < end) {
temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
```
这个程序中,我们定义了一个 `reverse` 函数,用来逆置一维数组。函数接收两个参数,一个是数组的首元素地址,另一个是数组的长度。在函数中,我们使用了两个指针 `start` 和 `end` 分别指向数组的首元素和末元素。通过不断交换 `start` 和 `end` 指向的元素,最终完成了数组的逆置。在主函数中,我们首先输出原始数组,然后调用 `reverse` 函数逆置数组并输出逆置后的结果。
输出结果如下:
```
Original array: 1 2 3 4 5
Reversed array: 5 4 3 2 1
```
阅读全文