#include//方式1 void swap(int *a,int *b) { int temp = *a; *a = *b; *b = temp; } //方式2 void swap_1(int *a,int *b) { *a=*a+*b; *b=*a-*b; *a=*a-*b; } //方式3 void swap_2(int *a,int *b) { // *a^=*b^=*a^=*b; 这种做法达不到效果,不知道为什么 *a=*a^*b; *b=*b^*a; *a=*a^*b; } //方式4————————我的环境是linux下的.c文件,编译不通过 //换到.cpp文件就可以实现功能 void swap_3(int &a, int &b) { int temp; temp = a; a = b; b = temp; } int main() { int a = 23,b = 42; printf("a = %d,b = %dn",a,b); //swap(&a,&b); //swap_1(&a,&b); //swap_2(&a,&b); swap_3(a,b); printf("a = %d,b = %dn",a,b); return 0; }



