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つの数値の値を交換することができました。

bannerAds