黑马程序员技术交流社区
标题: C语言中交换两个整型变量的值的几种方法 [打印本页]
作者: 后知后觉4778 时间: 2015-12-12 21:39
标题: C语言中交换两个整型变量的值的几种方法
实现两个整数值的交换有三种方式:
1,最简单也最明了的方式,创建一个整型变量,相当于容器,临时存储整数的值
int a=10,b=23;
int temp = a;
a = b;
b = temp;
这种方式的优点
优点:简单明了,可读性强
缺点:需要定义临时变量用于交换,占用内存
2,这种方式不创建变量,直接通过运算交换两个数的值
{
a = b-a;
b = b-a; // b = b -(b -a) =b-b+a=a;
a = b+a; // a = b+a = a+b-a =b
}
优点:不用额外定义变量,在一定程度上节省了内存
3,通过位运算及其性质交换两个数的值
{
a = a ^ b; //异或运算有个性质,一个数与另外一个数异或两次,不管次序如
//何,还等于那个数本身
b = a ^ b; //相当于b = a ^ b ^b =a;
a = a ^ b; //a = (a^b)^a=b
}
作者: medicine 时间: 2015-12-12 21:43
最后一个的优点是:显着调调的
作者: 后知后觉4778 时间: 2015-12-12 21:46
最后一个的优点是显着调用的 很好 谢谢补充
作者: pn314754148 时间: 2015-12-12 22:40
最后一个的优点听不明白,什么叫显着调用?
作者: 不提也罢 时间: 2015-12-12 22:55
好像是这样
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |