一時変数を作成することなく、2つの数交換
1. XOR(同じことが0であるが、異なる1)
A = B A ^
B ^ A = B
A = B ^ A
辞書:B = A ^ B = A ^ B ^ B =;
A = A ^ B ^ A ^ B ^ B = B。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 0;
int b = 0;
printf("请输入a,b的值");
scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
printf("交换后的值为:\n");
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("a=%d,b=%d",a,b);
return 0;
}
2.加减
a = a + b
b = a - b
a = a - b
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 0;
int b = 0;
printf("请输入a,b的值");
scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
printf("交换后的值为:\n");
a = a + b;
b = a - b;
a = a - b;
printf("a=%d,b=%d",a,b);
return 0;
}