1.用中间变量
int temp;
temp=a;
a=b;
b=temp;
要交换两个杯中的水,先找一个暂存水的杯子temp,将a中的水倒入temp,a空了,然后将b中水倒入a中,b空了,将temp中的水倒入b中,完成交换。
2.不用中间变量
int a,b;
a=a+b;
b=a-b;
a=a-b;
a中存放a,b的和,则下一步,b=a+b-b=a;,a在等于a+b-a=b;完成交换。
问题:会有溢出的风险
3.、异或方式
a=a^b;
b=a^b;
a=a^b;
1.用中间变量
int temp;
temp=a;
a=b;
b=temp;
2.不用中间变量
int a,b;
a=a+b;
b=a-b;
a=a-b;
问题:会有溢出的风险
3.、异或方式
a=a^b;
b=a^b;
a=a^b;