您的位置:首页 > 其它

交换两个数的值以及不使用临时变量交换两个数的值

2016-06-23 16:17 302 查看
使用临时变量非常简单
#include<stdio.h>
int main()
{
int a = 1, b = 2, c = 0;
printf("a=");
scanf("%d", &a);
printf("b=");
scanf("%d", &b);
c = a;
a = b;
b = c;
printf("a=%d,b=%d\n", a, b);
system("pause");
return 0;
}
这时候我考虑可不可以不加入临时变量而同样达到目的呢
可以采用加减的方法
#include<stdio.h>
int main()
{
int a = 1, b = 2;
printf("a=");
scanf("%d", &a);
printf("b=");
scanf("%d", &b);
a = a + b;
b = a - b;
a = a - b;
printf("a=%d,b=%d\n", a, b);
system("pause");
return 0;
}
以及异或的方法
#include<stdio.h>
int main()
{
int a = 1, b = 2;
printf("a=");
scanf("%d", &a);
printf("b=");
scanf("%d", &b);
a = a ^ b;//构建一个集合
b = a ^ b;//取出集合中的另一个数
a = a ^ b;//取出集合中的另一个数
printf("a=%d,b=%d\n", a, b);
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: