Winged sundayjia.blog.chinaunix.net
sunday_jia
全部博文(79)
2013年(7)
2012年(17)
2011年(28)
2010年(25)
2009年(1)
2008年(1)
Bsolar
u11
tomtom55
风尘_NUL
ChunSour
bokewang
dewcwtso
Oo光风霁
郑火烨
分类: C/C++
2011-03-16 17:32:07
#include "stdafx.h" #include "iostream" using namespace std;//我是在VS2008里面作的调试,这里需要导入命名空间STD void swap1(int x,int y)//传值调用 { //实际上在传值调用时,是把数据的副本传给了被调用函数, //被调用函数内是交换了的,而主函数里面保持原值 int temp; temp = x; x = y; y = temp; cout<<" 传值函数内: "<<x<<" "<<y<<endl; } void swap2(int *x,int *y) //传址调用 { //把主函数里数据的地址传了过来 //这里改变了数据的地址,在主函数里打印出a,b的时候,当然就发生了交换! int temp; temp = *x; *x = *y; *y = temp; cout<<" 传址函数内: "<<x<<" "<<y<<endl; } void swap3(int &x,int &y)//传引用 { //加了&之后,用地址引用了主函数里面的数据值,说明x,y 的地址是a,b的地址~~,因而主函数里面的a,b发生交换~~ int temp; temp = x; x = y; y = temp; cout<<" 换址函数内: "<<x<<" "<<y<<endl; } void main()//入口点 { int a(8); int b(3); cout<<" 数据: "<<"a"<<" "<<"b"<<endl; cout<<" 初值: "<<a<<" "<<b<<endl; //传值调用 swap1(a,b); cout<<" 传值调用: "<<a<<" "<<b<<endl; //传址调用 swap2(&a,&b); cout<<" 传址调用: "<<a<<" "<<b<<endl; //恢复原值 swap2(&a,&b); //传引用调用 swap3(a,b); cout<<" 引用调用: "<<a<<" "<<b<<endl; getchar(); }
上一篇:c++中的数据类型(转)
下一篇:使用CppUnit 测试MFC程序
登录 注册