1.给定两个整形变量的值,将两个值的内容进行交换。
#include<stdio.h>
#include<stdlib.h>
int main() {
int a = 10; int b = 20; int c;
c = a;
a = b;
b = c;
printf("a=%d,b=%d", a, b);
getchar();
return 0;
}
将2个整形变量的值进行交换,我们能想到的最简单的方法就是创建一个临时变量,按上面的方法进行交换。如果不允许创建临时变量,怎样将两个数进行交换?
2.不创建临时变量,交换两个数的内容。
#include<stdio.h>
#include<stdlib.h>
int main() {
int a = 10; int b = 20;
a = a ^b;
b = a ^b;
a = a ^b;
printf("a=%d,b=%d", a, b);
getchar();
return 0;
}
a用二进制表示为0000 1010,b用二进制表示为0001 0100。