c语言

c语言数组怎么逆序重新存放

小亿
147
2024-09-13 12:42:23
栏目: 编程语言

在C语言中,要实现数组的逆序存放,可以通过交换数组首尾元素的方法来完成。具体操作如下:

  1. 初始化两个指针,一个指向数组的起始位置(例如start),另一个指向数组的结束位置(例如end)。
  2. start小于end时,交换startend所指向的元素值。
  3. start向后移动一位,将end向前移动一位。
  4. 重复步骤2和3,直到start大于等于end为止。

以下是一个简单的示例代码:

#include<stdio.h>

void 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

0
看了该问题的人还看了