首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言不通过第三个变量互换a、b两数数值的技巧

2012-12-21 
C语言不通过第三个变量交换a、b两数数值的技巧本文转自我的ChinaUnix博客:http://blog.chinaunix.net/u3/10

C语言不通过第三个变量交换a、b两数数值的技巧

本文转自我的ChinaUnix博客:http://blog.chinaunix.net/u3/107162/showart_2190311.html

?2010-03-04

?

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了

热点排行