首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言swap不申请额外空间互换二个值

2012-11-08 
C语言swap不申请额外空间交换二个值#include?stdio.h??void?swap(int?*x,?int?*y)?{?????*x?^?*y?????

C语言swap不申请额外空间交换二个值

#include?<stdio.h>?
?
void?swap(int?*x,?int?*y)?
{?
????*x?^=?*y;?
????*y?^=?*x;?
????*x?^=?*y;?
}?
?
void?swap2(int?*x,?int?*y)?
{?
????*x?=?*x?+?*y;?
????*y?=?*x?-?*y;?
????*x?=?*x?-?*y;?
}?
?
void?swap3(int?*x,?int?*y)?
{?
????*x?=?*x?-?*y;?
????*y?=?*x?+?*y;?
????*x?=?*y?-?*x;?
}?
?
?
int?main()?
{?
????int?a,?b;?
????a?=?100?,?b?=?200;?
????printf("a:%d\tb:%d\n",?a,?b);?
?
????swap(&a,?&b);?
????printf("a:%d\tb:%d\n",?a,?b);?
?
????swap2(&a,?&b);?
????printf("a:%d\tb:%d\n",?a,?b);?
?
????swap3(&a,?&b);?
????printf("a:%d\tb:%d\n",?a,?b);?
?
????return?0;?
}?
?

热点排行