一、利用一个临时变量来实现两个变量值的交换:
#include <stdio.h>
int main()
{
int a = 10;
int b = 11;
int temp;
temp = a;
a = b;
b = temp;
printf("a=%d,b=%d\n", a, b);
return 0;
}
二、不用临时变量来实现两个变量值的交换:
#include <stdio.h>
int main()
{
int a = 10;
int b = 11;
a = a + b;
b = a - b;
a = a - b;
printf("a=%d,b=%d\n", a, b);
return 0;
}
三、利用位运算来实现两个变量值的交换:
#include <stdio.h>
int main()
{
int a = 10;
int b = 11;
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("a=%d,b=%d\n", a, b);
return 0;
}
三种方法比较:第一种方法需要另外开辟一块内存空间来存储临时变量,而后两种方法不需要临时变量,故后两种方法代码执行效率高。但是,后两种方法代码可读性差,没有第一种方法代码可读性好。所以,平时开发多用第一种方法,后两种方法多见于面试题。