#include <stdio.h>
//方式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 = %d\n",a,b);
//swap(&a,&b);
//swap_1(&a,&b);
//swap_2(&a,&b);
swap_3(a,b);
printf("a = %d,b = %d\n",a,b);
return 0;
}
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交