C言語で一次元配列の要素を入れ替えるにはどうすればいいですか?
C言語の配列において、要素の交換を行うには仮の変数を使って実装します。具体的には以下の手順です。
- 値を入れ替える2つの要素の入れ物を一時的に保有する変数tempを宣言する。
- 一時変数tempに最初の要素の値を代入する。
- 一番目の要素に二番目の要素の値を代入する。
- 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関数を呼び出して要素を入れ替え、最後にを入れ替えた後の配列の値を出力します。