不借助第三个变量交换两个整数的值

来源:互联网 发布:photoshop2017中文mac 编辑:程序博客网 时间:2024/04/29 03:18

假设两个数x和y,则有:

方法1,算术运算(加减):
x=x+y;  //x暂存两数之和
y=x-y;  //y为两数之和减去y,即原来的x
x=x-y;  //x为两数之和减去现在的y(原来的x),变成原来的y

 

方法2,逻辑运算(异或):
x^=y; //x先存x和y两者的信息
y^=x; //保持x不变,利用x异或反转y的原始值使其等于x的原始值
x^=y; //保持y不变,利用x异或反转y的原始值使其等于y的原始值

 

原创粉丝点击