Chinaunix首页 | 论坛 | 博客
  • 博客访问: 144430
  • 博文数量: 34
  • 博客积分: 2026
  • 博客等级: 大尉
  • 技术积分: 350
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-02 12:49
文章分类

全部博文(34)

文章存档

2010年(18)

2009年(16)

我的朋友

分类: C/C++

2010-03-04 13:04:15

 

int a = 8, b = 9;
a = a^b;
b = b^a;
a = a^b;

// 现在a=9,b=8了

// 证明:1. 执行第一行,a的值为 a^b 了

// 2. 再执行第2行,b = b^a = b^(a^b) = a^b^b = a^0 = a,现在b的值为a了

// 3. 接着执行第3行,a = a^b = (a^b)^a = a^a^b = 0^b = b,现在a的值为b了


a b 交换完毕
阅读(2279) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

mhjackson2010-03-25 12:36:55

厉害!

chinaunix网友2010-03-21 23:23:10

13481143880南宁辦证&QQ1074970829&&☆卓越品质,诚信唯首, 携手共进:QQ107.497.0829☆☆卓越品质,诚信唯首, 携手共进:

welkin2010-03-19 14:37:59

九几年我曾看到过, int a=8,b =9; a=a+b; b=a-b; a=a-b; ok.