c语言中两个变量交换的方法
1.建立临时变量的的方法
#include <stdio.h>
int main(){
int a=5;
int b=3;
int c=0;
printf("a=%d,b=%d\n",a,b);
c=a;
a=b;
b=c;
printf("a=%d,b=%d\n",a,b);
return 0;
}
2.不建立临时变量的方法
2.1 但是该方法存在溢出问题
#include <stdio.h>
int main(){
int a=5;
int b=3;
printf("a=%d,b=%d\n",a,b);
a=a+b;
b=a-b;
a=a-b;
printf("a=%d,b=%d\n",a,b);
return 0;
}
2.2使用异或的方法 但是该方法不容易让人理解
#include <stdio.h>
int main(){
int a=5;
int b=3;
printf("a=%d,b=%d\n",a,b);
a=a^b;
b=a^b;
a=a^b;
printf("a=%d,b=%d\n",a,b);
return 0;
}
运行结果