Without creating temporary variables, two numbers exchange
1. XOR (the same is 0, is different. 1)
A = B A ^
B ^ A = B
A = B ^ A
Dictionary: b = a ^ b = a ^ b ^ b A =;
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. pressurized, dropping
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;
}