#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; }