将一个数组中的值按逆序重新存放。c语言编辑
时间: 2023-06-13 10:02:35 浏览: 91
可以使用两个指针,一个指向数组的第一个元素,另一个指向数组的最后一个元素,然后交换它们的值,依次移动指针直到它们相遇即可实现数组元素的逆序存放。具体代码如下:
```
#include <stdio.h>
void reverseArray(int arr[], int n) {
int *begin_ptr = arr; // 指向数组的第一个元素
int *end_ptr = arr + n - 1; // 指向数组的最后一个元素
// 依次交换 begin_ptr 和 end_ptr 指向的元素的值
while (begin_ptr < end_ptr) {
int temp = *begin_ptr;
*begin_ptr = *end_ptr;
*end_ptr = temp;
// 移动指针
begin_ptr++;
end_ptr--;
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Original array: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
reverseArray(arr, n);
printf("\nReversed array: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:
```
Original array: 1 2 3 4 5
Reversed array: 5 4 3 2 1
```
阅读全文