您的位置:首页 > 其它

不允许创建临时变量,交换两个变量的内容

2016-05-05 09:51 253 查看
//不允许创建临时变量,交换两个变量的内容
#include<stdio.h>
#include<stdlib.h>
void my_swap(int *a, int *b)
{
*a = *a + *b;
*b = *a - *b;
*a = *a - *b;
}

int main()
{
int a = 10;
int b = 20;
my_swap(&a, &b);
printf("%d %d", a, b);
system("pause");
return 0;
}




方法二:

#include<stdio.h>
#include<stdlib.h>

int main()
{
int a = 10;
int b = 20;
a = a^b;   //ex:  2 3->  10 和11  a=a^b->a=01
b = a^b;   //b=a^b  ->b=10  ->2
a = a^b;   //a=a^b  ->a=11  ->3
printf("a=%d b=%d\n", a, b);
system("pause");
return 0;
}

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