c语言将数组中元素逆序存放
时间: 2024-10-23 13:16:47 浏览: 50
在C语言中,要将数组元素逆序存放,可以采用两层循环的方式,外层遍历数组的开始部分,内层遍历剩余未处理的部分,交换两个指针所指向的元素。以下是简单的步骤:
1. 初始化两个指针,一个从数组的起始位置(index = 0),另一个从数组的结束位置减一(index = array_length - 1)。
2. 当外层指针小于内层指针时,执行以下操作:
a. 交换array[index]和array[index+1]的值。
b. 内部指针减一(index++)。
c. 外部指针加一(index++)。
3. 循环结束后,数组的第一个元素到最后一个元素就被逆序排列了。
下面是一个简单的示例代码片段:
```c
#include <stdio.h>
void reverse_array(int arr[], int length) {
int start = 0;
int end = length - 1;
while (start < end) {
int temp = arr[start]; // 保存当前元素
arr[start] = arr[end];
arr[end] = temp; // 交换两端元素
start++; // 移动到下一个元素
end--; // 移动到前一个元素
}
}
int main() {
int array[] = {1, 2, 3, 4, 5};
int array_length = sizeof(array) / sizeof(array[0]);
printf("Original array: ");
for (int i = 0; i < array_length; i++) {
printf("%d ", array[i]);
}
reverse_array(array, array_length);
printf("\nReversed array: ");
for (int i = 0; i < array_length; i++) {
printf("%d ", array[i]);
}
return 0;
}
```
运行这个程序,你会看到原数组的元素顺序发生了反转。
阅读全文