黑马程序员—C学习笔记—三种方法实现两数交换
2015-03-25 16:11
483 查看
———–Java培训、Android培训、IOS培训、.Net培训、期待与您交流!————
本节是个人学习过程中的笔记,供初学者一起学习,大神勿喷。
运行结果如下:
三种方法详细介绍可以参考代码注释,也许以后还有更多地方法,希望也能够加进去,一起探究学习。
本节是个人学习过程中的笔记,供初学者一起学习,大神勿喷。
#include <stdio.h> int main() { int a = -1,b = 11; printf("交换前:\na=%d,b=%d\n",a,b); void exchange1(); void exchange2(); void exchange3(); exchange1(&a,&b); printf("a=%d,b=%d\n",a,b); exchange2(&a,&b); printf("a=%d,b=%d\n",a,b); exchange3(&a,&b); printf("a=%d,b=%d\n",a,b); } void exchange1(int* p1,int* p2) { printf("交换两个数,第一种方法:使用临时变量,三个数来交叉赋值,此方法一般使用于开发\n"); int temp = *p1; *p1 = *p2; *p2 = temp; } void exchange2(int* p1,int* p2) { printf("交换两个数,第二种方法:不使用临时变量,只用加减法,此方法有点绕,整人用\n"); *p2 = *p1-*p2; *p1 = *p1-*p2; *p2 = *p1+*p2; } void exchange3(int* p1,int* p2) { printf("交换两个数,第三种方法:不使用临时变量,只使用异或运算,此方法更加绕,整人用\n"); *p1 = *p1^*p2; *p2 = *p1^*p2; *p1 = *p1^*p2; }
运行结果如下:
三种方法详细介绍可以参考代码注释,也许以后还有更多地方法,希望也能够加进去,一起探究学习。
相关文章推荐
- 黑马程序员之ADO.NET学习笔记:不用第三个变量,实现两数交换
- 实现两数 交换的三种不同编程方法。
- 黑马程序员之 C#学习笔记:飞行棋地图二维数组实现方法
- 黑马程序员_C语言三种方法实现两个变量值的交换
- 黑马程序员__三种方法实现两个变量值的交换
- 黑马程序员—C学习笔记—预处理三种类型的实现
- 学习笔记_JFame事件处理的三种方法(1)直接实现法
- 学习笔记_JFame事件处理的三种方法(3)类直接实现接口法
- 【学习笔记】交换两数的方法
- 三种方法实现网页下载-(慕课网学习笔记)
- 交换两个变量值的三种方法(Java实现)
- 学习笔记之XML的三种l解析方法
- 三种方法实现不引入变量交换两个变量值
- 学习笔记之java中三种随机数的产生方法
- c++11学习笔记3——通过更通用的方法实现新特性
- java学习笔记-Java实现几种常见排序方法
- angularjs学习笔记--ng-class的三种使用方法
- struts学习笔记:三种方法配置action
- 经典算法面试题(一):两数交换的三种方法
- 两数交换三种方法:指针,加减法与位运算