我可以解决它使用第三个变量,但不能解决没有使用第三个变量。如何在不使用第三个变量的情况下交换两个数字?
-6
A
回答
0
void swap_int(unsigned int *a, unsigned int *b) {
*a^=*b; // After that: a==(orig_a^orig_b)
*b^=*a; // After that: b==(orig_b^a)==(orig_b^orig_a^orig_b)==orig_a, thus a was moved to b
*a^=*b; // After that: a==(orig_a^orig_b)^b==(orig_a^orig_b)^orig_a==orig_b, thus we are happy and ready
}
0
void swap_int(unsigned int *a, unsigned int *b) {
*a-=*b;
*b+=*a;
*a=*b-*a;
}
您正在使用什么编程语言
相关问题
- 1. 在不使用第三个变量的情况下交换两个整数
- 2. 如何在没有第三个变量的情况下进行交换?
- 3. 如何在不使用临时变量的情况下交换两个字符串变量的值?
- 4. 在php中不使用第三个变量交换两个变量值
- 5. 使用两个变量而不是三个交换?
- 6. 在不使用临时变量的情况下在C中交换两个不同数组的元素
- 7. 在不使用临时变量的情况下交换类中的变量
- 8. 在不使用函数的情况下增加一个变量
- 9. 如何在不使用变量的情况下获取查询的第三个月?
- 10. 交换使用逐opeation两个变量并没有使用第三个变量在C
- 11. AngularJS:在不暴露全局变量的情况下使用第三方库
- 12. 如何绘制三个变量的两个函数的交集?
- 13. 交换两个数字没有用C第三/ C++
- 14. 交换两个数组而不完全分配第三个(C++)
- 15. 如何在不使用UINavigationController的情况下交换window.rootViewController?
- 16. 在不使用三角函数的情况下旋转矢量
- 17. 在不改变页面的情况下在两个页面之间交换变量
- 18. 如何在不调用方法的情况下使用变量
- 19. 如何在不使用JOINER转换的情况下连接两个informatica表?
- 20. 如何交换两个变量值?
- 21. 如何在不使用任何循环的情况下生成两个变量的函数?
- 22. 交换两个变量,而无需使用第三个变量作为中介位置
- 23. 如何使用AJAX数据变量使用的情况下提交按钮
- 24. 如何在不使用数组的情况下获取C#中变量的第一个值
- 25. 如何在不使用变量的情况下编程scala DSL?
- 26. SymPy:交换两个变量
- 27. 如何交换字符串变量中的两个字符?
- 28. 在两种情况下处理变量
- 29. 在这种情况下如何在不声明全局变量的情况下将一个函数的变量用于另一个函数?
- 30. 如何使用字符串的情况下作为一个变量的java
? –
C编程.. – James
请参见[XOR交换算法](http://en.wikipedia.org/wiki/XOR_swap_algorithm) –