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関数を使って交換後の配列要素を出力しました。