在C语言中,要实现数组的逆序存放,可以通过交换数组首尾元素的方法来完成。具体操作如下:
- 初始化两个指针,一个指向数组的起始位置(例如
start
),另一个指向数组的结束位置(例如end
)。 - 当
start
小于end
时,交换start
和end
所指向的元素值。 - 将
start
向后移动一位,将end
向前移动一位。 - 重复步骤2和3,直到
start
大于等于end
为止。
以下是一个简单的示例代码:
#includevoid reverseArray(int arr[], int start, int end) { while (start < end) { // 交换首尾元素 int temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; // 更新指针 start++; end--; } } int main() { int arr[] = {1, 2, 3, 4, 5}; int n = sizeof(arr) / sizeof(arr[0]); printf("原始数组:\n"); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } printf("\n"); reverseArray(arr, 0, n - 1); printf("逆序后的数组:\n"); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } printf("\n"); return 0; }
运行上述代码,输出结果如下:
原始数组: 1 2 3 4 5 逆序后的数组: 5 4 3 2 1