编程中交换两个变量(在不使用第三变量的情况下)

(1) 算术运算
int a,b;
a=10;b=12;
a=b-a; //a=2;b=12
b=b-a; //a=2;b=10
a=b+a; //a=10;b=10

(2)位运算
int a=10,b=12; //a=1010^b=1100;
a=a^b; //a=0110^b=1100;
b=a^b; //a=0110^b=1010;
a=a^b; //a=1100=12;b=1010;
(3)栈实现
int exchange(int x,int y)
{
stack S;
push(S,x);
push(S,y);
x=pop(S);
y=pop(S);
}

参考于该作者,点击去原文

发布了32 篇原创文章 · 获赞 4 · 访问量 2296

猜你喜欢

转载自blog.csdn.net/delete_bug/article/details/105384949