#include
#include//方法一:定义临时变量
void change(int *a,int *b)
{
int c;
c = *a;
//相当于 c = a;
*a= *b;
//相当于 a = b
*b= c;
//相当于 b= c
}
方法二:利用加减法运算
void inplace_swap2(int*a,int*b)
{
*a=*a+*b;
*b=*a-*b;
*a=*a-*b;
}//方法三:利用位运算 (当*x和*y相等时,此方法不可用)
void inplace_swap3(int *x, int *y)
{
*y = *x^*y;
*x = *x^*y;
*y = *x^*y;
}int main()
{
int a = 6;
int b = 9;
printf("交换之前的a:%d,b:%d\n",a,b);
inplace_swap(&a, &b);
printf("交换之后的a:%d,b:%d\n", a, b);
system("pause");
return 0;
}
推荐阅读
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- 【C】题目|【C语言】题集 of ⑥
- 单片机|自学单片机好找工作吗(会单片机能找什么工作?)
- 单片机|keil把源代码生成lib的方法
- c语言|一文搞懂栈(stack)、堆(heap)、单片机裸机内存管理malloc
- c语言|C语言初期学习遇到的特殊点 【三子棋详解】【初学者福音,详细总结,复习能手】
- 笔记|C语言数据结构——二叉树的顺序存储和二叉树的遍历
- 个人理解|【C语言基础之类型转换】
- c语言|【C语言】自定义类型 结构体 枚举 联合
- 学习分享|【C语言函数基础】