今天去面试,碰到一个题,两个变量不用中间变量如何交换值?
可把我难倒了,请问大虾如何解决?
可把我难倒了,请问大虾如何解决?
解决方案 »
- 急急急!!!怎样用return返回多个数据!请高手帮忙
- dsoframe与excel的问题
- C# ComboBox问题
- 能否实现某个dll文件应用到C/S客户端,也可以被b/s调用?
- 我在winform中用GDI+画图,现在已知4个点的坐标,请问如何将这4个点连接成的四边形内填充颜色,比如红色?
- 关于c#开发的一个问题(非技术类)
- Hyperlink 添加单击事件
- 不想使用DropDownButton风格的TOOLBAR按钮,实现点击工具条按钮实现下拉菜单.
- dataset应用时的问题。
- DataGrid如何选中一个记录后,返回到相应的文本框中?(WinForm)
- 百分探讨:求.Net完美隐藏主窗体方法
- vs2003 (c#)+SQL2000, winform 中的datagrid添加、修改、删除、查询数据库操作如何做呢?
可以使用这样的方法:
int a,b;
a=值1;
b=值2;
//交换
a=a^b;
b=b^a;
a=a^b;
//此时,a和b的值已经交换了;
证明:
a1=a0^b0;
b1=b0^a1=b0^(a0^b0)=a0^b0^b0=a0;
a2=a1^b1=(a0^b0)^a0=b0^a0^a0=b0;
应用的主要原理就是一个值经过同一个数的两次异或后值不变!
int b = 5; a = a ^ b;
b = a ^ b;
a = a ^ b;
int b = 5a = a + b
b = a - b
a = a - b
b=a+b;
a=b-a;/*
a=a+b;
b=a-b;
a=a-b;*/