现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

两种实现数据交换的宏定义

2012-08-08 14:17 工业·编程 ⁄ 共 245字 ⁄ 字号 暂无评论

#define swap(x,y) {int temp=x;x=y;y=temp;}
//换行写法
#define swap(x, y)\
int temp = x;\
x = y;\
y = temp;

#define swap(x,y)  {x= x+y;y=x-y;x=x-y;}
//换行写法
#define swap(x,y)\
x=x+y;\
y=x-y;\

x=x-y;\

通过按位异或运算,可以实现两个值的交换,而不必使用临时变量

void swap(int &a,int &b)
{
    a=a^b;
    b=a^b;
    a=a^b;

}

给我留言

留言无头像?