📌  相关文章
📜  c 交换数组元素 (1)

📅  最后修改于: 2023-12-03 15:29:44.545000             🧑  作者: Mango

交换数组元素

在C语言中,要想交换数组中的元素,需要使用第三方变量来保存一个元素值,再用另一个元素值覆盖该位置。下面是一个示例代码:

#include <stdio.h>

void swap(int *a, int *b) {
    int temp = *a;
    *a = *b;
    *b = temp;
}

int main() {
    
    int arr[] = {3, 6, 2, 8, 1};
    int n = sizeof(arr) / sizeof(arr[0]);

    // 交换 arr[0] 和 arr[2]
    swap(&arr[0], &arr[2]);

    // 输出数组
    for(int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}

代码输出为:2 6 3 8 1

交换数组中任意两个元素

要想交换数组中任意两个元素,只需要传入两个不同的数组下标即可,示例代码如下:

#include <stdio.h>

void swap(int *a, int *b) {
    int temp = *a;
    *a = *b;
    *b = temp;
}

int main() {

    int arr[] = {3, 6, 2, 8, 1};
    int n = sizeof(arr) / sizeof(arr[0]);

    // 交换 arr[1] 和 arr[4]
    swap(&arr[1], &arr[4]);

    // 输出数组
    for(int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}

代码输出为:3 1 2 8 6

总结

以上就是C语言中交换数组元素的方法,需要注意的是,交换元素时需要传入指向数组元素的指针,否则会发生数据类型错误。