您的位置:首页 > 其它

交换两个数字,不借助于第三个变量的三种简单的方法。

2012-03-23 16:18 330 查看
#include <stdio.h>
int main()
{
int a = 10,b=20;
//  solution 1: a = a+b; b = a-b; a = a-b;
printf("*********************************************\n");
printf("Change two number without another number!!!!\n");
printf("*********************************************\n");
printf("Solution 1:\n");
printf("a:%d b:%d\n",a,b);
a = a + b;
b = a - b;
a = a - b;
printf("a:%d b:%d\n",a,b);
printf("*********************************************\n");
printf("Solution 2:\n");
//  solution 2:
a = 10;
b = 20;
printf("a:%d b:%d\n",a,b);
a = a*b;
b = a/b;
a = a/b;
printf("a:%d b:%d\n",a,b);

printf("*********************************************\n");
printf("Solution 3:\n");
//  solution 3:a^=b^=a^=b;
a = 10;
b = 20;
printf("a:%d b:%d\n",a,b);
a = a^b;//put the information into a
b = a^b;//make b equal to the orginal a
a = a^b;//make a equal to the orginal b
printf("c:%d d:%d\n",a,b);

return 0;
}


以上为三种交换两个整数数字不借助于第三个变量的方法。。其中最好的为第一种方法,因为针对后两种方法。如果交换的不是整数,那么就会出现差错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: