刚刚在林乐博客看到的,拿过来备用
用到的异或的方法:
#include "stdio.h"
int main()
{
int a,b;
while(scanf("%d %d",&a,&b)!=EOF)
{
a^=b^=a=a^b;
printf("%d %dn",a,b);
}
return 0;
}
其实a^=b^=a=a^b;这句就相当于是
a=a^b; b=a^b; a=a^b;
写法.
除此之外还有加减法,代码:
a = a+b; b = a-b; a = a-b;
也可以方便的实现交换两数.
原文标题:不需要辅助内存交换两变量|落絮飞雁的个人网站
授权协议:创作共用 署名-非商业性使用 2.5 中国大陆
除注明外,本站文章均为原创;转载时请保留上述链接。