C言語で2つの数字の値を交換する方法はどうやりますか。

C言語では、2つの数値を交換するために3つの方法が使用できます。

Option:
方法1:第三の変数を使用する。

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

方法2:足し算と引き算を使用する。

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

Option 1:
方法3:XOR演算を使用する。

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

これらの3つの方法は、2つの数値を交換することができますが、3番目の方法はXOR演算を使用しており、効率が比較的高いです。

bannerAds