交换a,b值,并且不用第三变量

来源:互联网 发布:手机设计房屋软件 编辑:程序博客网 时间:2024/06/11 09:40

第一种:

a=a^b;

b=a^b;

a=a^b;

证明:

证明: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=a+b;

b=a-b;

a=a-b;

第二种的缺点是如果a,b两数比较大的时候,a=a+b会超界。

原创粉丝点击