在不使用第三个变量作为中间位置的情况下交换两个变量
swap two variables without using a third variable as an intermediary position
编写一个程序来交换两个变量,而不使用第三个变量作为中介位置
a=2; b=3;
a=a*b; // 6
b=a/b; // 2
a=a/b; // 3
a=3 and b=2
是真的吗,,我在中有错误
更好地使用没有"奇点"的可逆算子。例如+
、-
(假设整数环绕可以。
当然,赢家是XOR。
a ^= b;
b ^= a;
a ^= b;
如果b或a为零会发生什么?如果两者都不为零,并且您没有得到类型的溢出,那么您的代码将工作。
相关文章:
- 非常量变量只读位置的赋值
- 你好。。。id_public变量不应该给出结果为 81 和 86 吗?为什么它为两个派生类占用不同的内存位置?
- 在 elf 文件中查找全局变量的位置
- C++强制变量到一个固定的内存位置
- 当使用Lua作为嵌入式语言(比如c++)时,有什么简单/方便的方法可以找到变量在Lua中的定义位置吗
- 函数,返回变量c++占用的内存位置的大小
- 在 Visual Studio 2010(及更高版本)中定义包含或链接路径变量的位置
- 为什么动态分配的两个变量的内存位置不是连续的?
- ClangTool 如何获取变量声明中模板参数的位置?
- 如何跟踪通过外部代码修改类变量的所有位置
- 适用于会员变量的新位置
- C++每个变量的存储位置是否正确?
- 可视C 编译器将相同的存储位置提供给两个变量
- 双变量的精度仅为十点后的2个位置
- *的位置有什么区别:*变量与变量*
- 引用变量何时合适,为什么?你能解释一下实际的语法和位置吗?
- 局部类变量位置
- 运行时检查失败 #2 - 变量"位置"周围的堆栈已损坏
- 将cout引用到一个变量位置(文件或cmd)
- 单例的静态变量位置