C语言编程将数组元素逆序存放(要求用指针实现),即第1个元素与最后1个元素对调,第2个元素与倒数第2个元素对调,依次类推。
时间: 2024-12-27 17:31:47 浏览: 7
在C语言中,可以使用指针来实现数组元素的逆序存放。这里是一个简单的例子,假设我们有一个整型数组`arr`,并用`size`表示数组的长度:
```c
#include <stdio.h>
void reverseArray(int* arr, int size) {
// 检查数组是否为空或只有一元素
if (size <= 1) {
return;
}
// 定义两个指针,一个指向数组开始,一个指向数组结束
int start = 0;
int end = size - 1;
// 当start小于end时,继续交换元素
while (start < end) {
// 通过指针交换arr[start]和arr[end]
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
// 移动指针
start++;
end--;
}
}
// 测试函数
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
printf("Before reversing: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
reverseArray(arr, size);
printf("\nAfter reversing: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
在这个程序中,`reverseArray`函数接受一个指向数组首元素的指针和数组大小,通过不断地交换两端的元素直到整个数组都被处理。`main`函数则展示了如何调用这个函数并打印出逆序后的数组。
阅读全文