本帖最后由 泼孩 于 2011-11-17 09:57 编辑
int x=1,y=2;
1.先说通过第三方变量的方法
int temp; //定义个临时
temp=x;//先将X赋给temp
x=y; //将y的值赋给x,此时X的值等于y的值
y=temp;//将temp存储的x的值赋给y.
这就能实现x,y值互换,也是开发中常用的方式
2.不使用第三方变量
x=x+y;//3=1+2,x+y的值赋给x
y=x-y;//1=3-2;将x+y的值赋给x,再用此值减去y
x=x-y;//2=3-1;x+y的值赋给X,减去已得的y
但是这中方法如果x,y的值非常大,容易超出int范围
3,技巧型,不是很容易想到
原理:使用“^”异或运算符,一个数异或同一个数两次,结果还是那个数
通常用来做加密解密算法
x=x^y;
y=x^y;//-->y=(x^y)^y;
x=x^y;//-->x=x^(x^y);
基本上我所了解的这三种算法,楼主需要哪种就用哪种吧 |