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演算を使用しており、効率が比較的高いです。