C言語でswap関数を使って配列の要素を交換する方法は何ですか。

C言語では、配列の要素を交換するために、swap関数を定義することができます。具体的な実装は以下の通りです:

#include <stdio.h>

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

int main() {
    int nums[] = {1, 2, 3, 4, 5};
    int size = sizeof(nums) / sizeof(nums[0]);

    // 交换数组中的第一个和最后一个元素
    swap(&nums[0], &nums[size - 1]);

    // 输出交换后的数组
    for (int i = 0; i < size; i++) {
        printf("%d ", nums[i]);
    }

    return 0;
}

上記のコードでは、swap関数が、配列の要素を指す2つのポインタパラメータを受け取り、これらの要素の値を交換しました。メイン関数では、整数配列numsを定義し、sizeof演算子を使用して配列のサイズを計算しました。その後、swap関数を呼び出し、配列の最初の要素と最後の要素を交換しました。最後に、forループを使用して配列を走査し、printf関数を使って交換後の配列要素を出力しました。

bannerAds