第二周 函数参数的传递

*作者:张栋

*完成时间:2015年9月11日

*问题描述:三种函数参数的传递方法:传值,传地址及引用

*程序代码1:

#include<iostream>
using namespace std;
void myswap(int x,int y)
{
  int t;
  t=x;
  x=y;
  y=t;
}
int main()
{
int a,b;
cout<<"请输入待交换的两个整数"<<endl;
cin>>a>>b;
myswap(a,b);
cout<<a<<" "<<b<<endl;
return 0;

}

*运行结果:


*知识点总结与心得:

  此方法,无法完成任务,因为值传递时单向的,参数改变之后,是无法发回传到实参的,a和b并未改变。

*程序代码2:

void myswap1(int *p1,int *p2)
{
  int t;
  t=*p1;
  *p1=*p2;
  *p2=t;

}
int main()
{
int a,b;
cout<<"请输入待交换的两个整数"<<endl;
cin>>a>>b;
myswap1(&a,&b);
cout<<a<<" "<<b<<endl;
return 0;
}
*运行结果:

*程序代码3:

#include<iostream>
using namespace std;
void myswap2(int &x,int &y)
{
 int t;
 t=x;
 x=y;
 y=t;

}
int main()
{
int a,b;
cout<<"请输入待交换的两个整数"<<endl;
cin>>a>>b;
myswap2(a,b);
cout<<a<<" "<<b<<endl;
return 0;
}
*运行结果:



*知识点总结与心得:

程序2和3可以完成任务,程序2 是地址的传递,地址所指向的a和b发生了交换,其值自然发生了改变。程序3是引用,形参就是a和b的一个“别名”,形参改变就是a和b的改变,通过这次博文,是自己更加熟练地掌握了这三种传递方法的使用,巩固了所学习的只知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值