方法一:第三者
一般我喜欢用这种第三者引入法。
代码
代码语言:javascript复制#include<stdio.h>
int main()
{
int a=666,b=999,mis;
mis=a;
a=b;
b=mis;
}
方法二:指针
但如果代码中经常需要交换两个变量的值,如果还是用这种方法,那么一次交换就要三行代码,这也不是问题,问题是修改很不方便,我就自己写了个函数,一行搞定交换,修改也方便。
函数要实现改变变量的值就要动用指针。
代码
代码语言:javascript复制#include<stdio.h>
void exchange(int *a,int *b)
{
int mis;
mis=*a;
*a=*b;
*b=mis;
}
int main()
{
int a=666,b=999;
exchange(&a,&b);
}
后面学多了,才知道,也不一定要用指针,引用也可以在函数中改变变量的值。
方法三:异或
1.a^a=0;
2.a^0=a;
3.a^b=b^a;
代码
代码语言:javascript复制#include <stdio.h>
int main()
{
int a=1234,b=5678;
a=a^b;
b=a^b;
a=a^b;
}
方法四:加减
a=a b;
b=a-b;
a=a-b;
代码
代码语言:javascript复制#include <stdio.h>
int main()
{
int a=1234,b=5678;
a=a b;
b=a-b;
a=a-b;
}
方法五:引用
这是后来学到的引用,代码和指针看起来差不多。
代码语言:javascript复制#include<stdio.h>
void swap(int &a,int& b)
{
int temp;
temp=a;
a=b;
b=temp;
}
int main()
{
int a=1314,b=520;
swap(a,b);
}
题外话
在C 中,swap是标准库函数,可以直接用:
代码语言:javascript复制swap(a,b);
在Python中可以这样:
代码语言:javascript复制a = 1234
b = 5678
a,b=b,a