您的位置:首页 > 编程语言 > C语言/C++

c语言实现两数交换 4000

2017-11-18 23:14 267 查看

借助第三变量来交换

1、

int a = 10;
int b = 20;
int temp = a;
a = b;
b = temp;


2、(指针实现)

void swap(int*x, int*y)
{
int temp = *x;
*x = *y;
*y = temp;
}


在调用swap()时注意传参时传的是&a,和&b

swap(&a, &b);


不创建第三变量交换

1、按位异或

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


例如:

a=10—— 1010

b=5——–0101

那么(a^b )^b=1111^0101=1010 就是a 的值

同理(a^b)^b(这里b已经是a了) 为1111^1010=0101

和与差方法

a = a + b;
b = a - b;
a = a - b;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: