不引入变量交换两个数的值
#include"stdio.h"
int main()
{
//不引入变量交换两个数的值
//1.逻辑运算符法:
int a = 2, b = 3;
// 0000 0010 a
// 0000 0011 b
//=0000 0001 a
// 0000 0011 b
//=0000 0010 b b的值变成2
// 0000 0001 a
//=0000 0011 a a的值变成3
a ^= b;
b ^= a;
a ^= b;
printf("%d %d\n", a, b);
//算术运算法:
//弊端是,整型占四个字节,如果每个数都很大的话
//相加就有可能超过四个字节所能表示的范围
int c = 2, d = 3;
c = c + d;
d = c - d;
c = c - d;
printf("%d %d\n", c, d);
return 0;
}