黑马程序员技术交流社区
标题: 交换两数三种方法实现 [打印本页]
作者: nebouxii 时间: 2015-10-23 22:53
标题: 交换两数三种方法实现
个人知识回顾加强记忆
方法一: 定义临时变量作为中间值交换,此处省略代码
方法二:
#include<stdio.h>int main(){
int a = 1;
int b = 2;
printf("a=%d,b=%d\n",a,b);
a = b - a;
b = b - a;
a = b + a;
printf("a=%d,b=%d\n",a,b);
return 0;
}
方法三:
位运算实现两数交换
#include<stdio.h>
int main(){
int a = 1;
int b = 2;
printf("a=%d,b=%d\n",a,b);
a = a ^ b; //1^2
b = a ^ b; //1^2^2 = 1
a = a ^ b; // 1^1^2=2
printf("a=%d,b=%d\n",a,b);
return 0;
}
作者: MLP1355053753 时间: 2015-10-23 23:22
赞一个~.~呵呵哒
作者: 小Who 时间: 2015-10-23 23:26
赞,总结成为自己的东西,不错
作者: nebouxii 时间: 2015-10-24 21:50
谢谢~~~~~
作者: nebouxii 时间: 2015-10-24 21:52
谢谢,每次发帖只当回顾知识了
作者: nebouxii 时间: 2015-10-24 21:53
谢谢,每次发帖就当回顾知识了
作者: cherrycool 时间: 2015-10-27 13:30
第四种方法:b=(a+b)-(a=b);
作者: 叶良辰 时间: 2015-10-27 14:18
666666666脑洞大开
作者: 开枪吧_Z7K5Z 时间: 2015-10-27 22:18
向善于总结的同学致敬,赞一下!
作者: ncrbot 时间: 2015-10-27 22:45
赞赞赞!!!我找这个好久了
作者: rzx 时间: 2015-10-27 23:13
哇 大神呀好解答
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |