通常习惯使用的是三变量。无论是在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
通常习惯使用的是三变量。无论是在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;
||第二步。把b和a不同的位取反(因为任何位和1异或就相当于取反了),此时b已经等于原来的a
||第三步。同理。a就变成了b