您的位置:首页 > 其它

第17周项目1 体会函数参数传递

2013-12-17 17:13 323 查看
/*

*Copyright (c)2013,烟台大学计算机学院

*All rights reserved.

*文件名称:test.cpp

*作者:孙玲倩

*完成日期:2013年12月17日

*版本号:v1.0

*问题描述:体会函数参数传递

*/
#include <iostream>

using namespace std;
void jiaohuan (int x,int y);
int main()
{
int a,b;
cin>>a>>b;
if (a<b)jiaohuan (a,b);
cout <<"a,b="<<a<<","<<b;
return 0;
}
void jiaohuan (int x,int y)
{
int t;
t=x;
x=y;
y=t;
}


心得体会:无法完成交换,只是将a,b的值传给了x,y,但交换时不改变a,b的值

#include <iostream>

using namespace std;
void jiaohuan (int *x,int *y);
int main()
{
int a,b;
cin>>a>>b;
if (a<b)jiaohuan (&a,&b);
cout <<"a,b="<<a<<","<<b;
return 0;
}
void jiaohuan (int *x,int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
}


心得体会:可以完成交换,此程序运用了指针变量将a,b的地址值传给了x,y.所以交换时a,b的值也交换了。

#include <iostream>

using namespace std;
void jiaohuan (int &x,int &y);
int main()
{
int a,b;
cin>>a>>b;
if (a<b)jiaohuan (a,b);
cout <<"a,b="<<a<<","<<b;
return 0;
}
void jiaohuan (int &x,int &y)
{
int t;
t=x;
x=y;
y=t;
}


心得体会:采用引用的方法,使a,b,&x,&y在同一地址,因此交换。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: