会吃人的鲨鱼电影:C中如何交换两个数而不引用第三个常量

来源:百度文库 编辑:神马品牌网 时间:2024/05/05 16:50:23

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

使用异或运算,因为(a^b)^b=a
void swap(int *a,int *b) //交换两数要传址
{
*a^=*b;
*b^=*a;
*a^=*b;
}

上面的非常正确!!!!!!!!!!!!1

b=a+b;
a=a-b;
.....
忘了,多想想,光加减就可以。

不好意思。

void swap(int *a,int *b) //交换两数要传址
{
*a-=*b;
*b-=*a;
*a+=*b;
}

被你们转晕了