C言語でswap関数を使って2つの数値の値を交換する方法は何ですか?
C言語では、swap関数を使用して2つの数値を交換することができます。以下は、その例コードです。
#include <stdio.h>
void swap(int *a, int *b){
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int num1 = 10;
int num2 = 20;
printf("交换前的值:num1 = %d,num2 = %d\n", num1, num2);
swap(&num1, &num2);
printf("交换后的值:num1 = %d,num2 = %d\n", num1, num2);
return 0;
}
コードで、swapという関数を定義し、その関数は2つのポインターを受け取り、2つの数値の値を交換します。メイン関数では、num1とnum2という2つの変数を宣言し、それぞれを10と20で初期化します。そして、swap関数を呼び出し、num1とnum2のアドレスをその関数に渡します。swap関数では、一時変数tempを使用してnum1の値を保存し、num2の値をnum1に代入し、最後にtempの値をnum2に代入することで、2つの数値の交換が実現されます。最後に、printf関数を使用して交換前後の値を出力します。プログラムを実行すると、以下の結果が出力されます。
交换前的值:num1 = 10,num2 = 20
交换后的值:num1 = 20,num2 = 10
swap関数を使用して、2つの数値の値を交換することができました。