1.给定两个整形变量的值,将两个值的内容进行交换
#include<stdio.h>
int main()
{
int a = 10;
int b = 20;
int c;
printf("a=%d b=%d \n", a, b);
c = a;
a = b;
b = c;
printf("a=%d b=%d \n", a, b);
getchar();
return 0;
}
2.不创建临时变量,交换两个数的内容
我们采用异或的方法。异或是将两个十进制数转换为二进制数,然后按位异或,相同异或结果为0,不同异或结果为1。这是一种可以很好地交换两个数的内容的方法,不用创建临时变量。
#include<stdio.h>
int main()
{
int a = 10;//01010
int b = 20;//10100//按位异或,相同异或为0,不同异或为1
printf("a=%d b=%d \n", a, b);
a = a^b;//11110
b = a^b;//01010
a = a^b;//10100
printf("a=%d b=%d \n", a, b);
getchar();
return 0;
}