您的位置:首页 > 其它

[C]经典算法——不用第三变量交换两数

2008-03-23 11:06 253 查看
以下代码利用中间变量temp交换两数
#include <stdio.h>
main()
{
int x,y,temp;
scanf("%d%d",&x,&y);
printf("x=%d,y=%d/n",x,y);
temp=x;
x=y;
y=temp;
printf("x=%d,y=%d/n",x,y);
}
写出不用第三变量交换x和y值的算法

用算术或异或
x = x + y;
y = x - y;
x = x - y;

x = x^y;// 只能对int,char..
y = x^y;
x = x^y;

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