使用传递变量引用的方式完成两个数的交换
2012-11-07 19:34
330 查看
#include <iostream> using namespace std; int main() { void swap(int &a,int &b); int a=1,b=2; cout<<a<<" "<<b<<endl; swap(a,b); cout<<a<<" "<<b<<endl; return 0; } void swap(int &a,int &b) { int temp; temp=a; a=b; b=temp; }
运行结果:
1 2
1 2
以上运行结果表明并没有完成两个变量的交换。
使用debug工具时,发现函数调用语句swap(a,b);没有执行。
代码修改后:
#include <iostream> using namespace std; void swap(int &a,int &b); int main() { int a=1,b=2; cout<<a<<" "<<b<<endl; swap(a,b); cout<<a<<" "<<b<<endl; return 0; } void swap(int &a,int &b) { int temp; temp=a; a=b; b=temp; }
运行结果:
1 2
2 1
以上运行结果表明完成两个变量的交换。
以上两个程序的唯一区别在于函数声明的位置,一个放在main函数外,一个放在main函数内。
相关文章推荐
- 引用传递方式交换3个变量的值
- C语言 不使用临时变量交换两个数
- 如何不使用第三个变量来交换两个数的值
- CLR中函数引用传递无法使用ref class成员变量的问题
- 交换两个数不使用第三方变量=!!=深入理解按位异或运算符
- 不使用临时变量交换两个数
- python的函数怎么使用传递引用的方式
- java语言学习之不使用变量交换两个数
- 《面向对象程序设计与VC++实现》--Liwei_1_3 (交换 使用引用、指针、变量三种方法)
- 交换两个数的值(不使用第三个变量)
- 不使用引用和全局变量实现函数参数传递
- 交换两个数不使用第三方变量
- C程序中交换两个变量数值,不使用第三方变量(四种方式)
- 交换两个数的值以及不使用临时变量交换两个数的值
- 如何不使用第三个变量来交换两个数的值
- 完成两个变量交换的三种方式
- java笔记 chapter3使用java类,关键字new,this,变量初始化,引用传递
- 关于使用异或完成两个数的交换
- VC++6.0环境下,使用传引用方式调用自定义的swap函数来达到两数交换的目的
- [Java,JS] - 不使用第三个变量完成两个整数的交换