c语言中不引入第三变量交换两个变量

来源:百度知道 编辑:UC知道 时间:2024/06/04 15:19:03
写一个程序
假如
a=(
b=)
怎么不引入新变量把两个的数据交换啊

两个变量交换的三种方法
第一种 借助第三变量来实现;

第二种方法是利用加减法实现两个变量的交换,
第三种方法是得用位异或运算来实现,也是效率最高的一种

加减法交换
int a = 1;
int b = 2;

a = a + b;
b = a - b;
a = a - b;

位异或运算交换
int a = 1;
int b = 2;

a = a ^ b;
b = a ^ b;
a = a ^ b;

a=a+b;
b=a-b;
a=a-b;

a=a^b
b=a^b
a=a^b