简单的a,b变量交换问题,不使用中间变量

来源:互联网 发布:2017小说改编的网络剧 编辑:程序博客网 时间:2024/05/16 05:41

通常习惯使用的是三变量。无论是在function或是main中。

int a=10,b=11;int temp=a;a=b;b=a;

若考虑不引入新变量,则为下面的代码:

int a=10,b=11;a=a+b;b=a-b;a=a-b;

另一种:

a=a^b;b=a^b;a=a^b;

可以这么理解——第一步。取a,,b不同的位

||第二步。把b和a不同的位取反(因为任何位和1异或就相当于取反了),此时b已经等于原来的a

||第三步。同理。a就变成了b

0 0