C言語で一次元配列の要素を入れ替えるにはどうすればいいですか?

C言語の配列において、要素の交換を行うには仮の変数を使って実装します。具体的には以下の手順です。

  1. 値を入れ替える2つの要素の入れ物を一時的に保有する変数tempを宣言する。
  2. 一時変数tempに最初の要素の値を代入する。
  3. 一番目の要素に二番目の要素の値を代入する。
  4. temp変数を2番目の要素に代入する。

以下にサンプルコードを示します。

#include <stdio.h>

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

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

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

    // 交换元素
    swap(&arr[0], &arr[1]);

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

    return 0;
}

ネイティブな日本語で文章を言い換えてみてください。1つのオプションのみが必要です:

原始数组:1 2 3 4 5
交换后的数组:2 1 3 4 5

上のサンプルコードでは、swapという2つのポインタを受け取る関数を作成し、ポインタが指し示す値を入れ替えます。main関数では、まず元の配列の値を出力してから、swap関数を呼び出して要素を入れ替え、最後にを入れ替えた後の配列の値を出力します。

bannerAds