不用第三方参数,交换两个参数的值
2011-09-19 09:35
387 查看
#include <iostream> using namespace std; void Swap1(int &a, int &b) { a = a + b - (b = a); } int main(){ int a = 4, b = 5; cout << "before swap: "; cout << "a = " << a << ", b = " << b << endl; Swap1(a, b); cout << "after swap: "; cout << "a = " << a << ", b = " << b << endl; return 0; }
gcc 4.1.2运行,三个自定义函数都能交换两个变量的值。
VS 2008下面,Swap1()函数被优化了,没有正确交换两个变量的值,表示不懂。求解释~
相关文章推荐
- 在不用第三方参数的情况下,交换两个参数的值
- 在不用第三方参数的情况下,交换两个参数的值
- 在不用第三方参数的情况下,交换两个参数的值
- 交换两个数,不用第三方变量(异或运算)
- 不用第三方变量如何交换两个整形数
- 不用第三方参数交换两个数的方法
- 只用两个变量,不用第三方变量实现两个变量交换的值
- 怎样在不使用第三方变量交换函数的两个参数
- 不使用第三方变量交换两个参数的值
- 不用第三方变量交换两个int类型的值 php
- 不用第三方变量交换两个变量的值
- 不用第三个变量交换两个参数值得5种方法
- 不用引入第三变量交换两个变量的值
- 交换a、b不用第三个参数
- 每日一题:不适用第三个变量,实现交换两个输入参数
- C程序中交换两个变量数值,不使用第三方变量(四种方式)
- 另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)
- 交换两个参数的值
- 另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)
- 不用第三个变量交换两个变量