函数的参数传递有三种方式

函数的参数传递有三种方式,1)按值传递,2)以指针方式传递,3)以引用方式传递。编写一个函数交换两个变量的值为例,验证是否能实现交换,比较这三种方式的不同... 函数的参数传递有三种方式,1)按值传递,2)以指针方式传递,3)以引用方式传递。编写一个函数交换两个变量的值为例,验证是否能实现交换,比较这三种方式的不同 展开
 我来答
teddy_0416
推荐于2017-11-23 · TA获得超过556个赞
知道小有建树答主
回答量:335
采纳率:0%
帮助的人:340万
展开全部
#include <iostream>

using namespace std;

//传值调用
void chuanzhi(int a,int b)
{
int t=a;
a=b;
b=t;
cout<<"传值调用函数里交换完后a,b值:";
cout<<a<<" "<<b<<endl;

}

//指针传递
void zhizhen(int *a,int *b)
{
int t=*a;
*a=*b;
*b=t;
cout<<"指针传递函数里交换完后a,b值:";
cout<<*a<<" "<<*b<<endl;
}

//引用调用
void yinyong(int &a,int &b)
{
int t=a;
a=b;
b=t;
cout<<"引用调用函数里交换完后a,b值:";
cout<<a<<" "<<b<<endl;
}

int main()
{
int x=2,y=4;
cout<<"传值调用前:x=2,y=4"<<endl;
chuanzhi(x,y);
cout<<"传值调用后:x="<<x<<",y="<<y<<endl<<endl;
x=2,y=4;
cout<<"指针传递前:x=2,y=4"<<endl;
zhizhen(&x,&y);
cout<<"指针传递后:x="<<x<<",y="<<y<<endl<<endl;
x=2,y=4;
cout<<"引用调用前:x=2,y=4"<<endl;
yinyong(x,y);
cout<<"引用调用后:x="<<x<<",y="<<y<<endl<<endl;
return 0;
}

写的有点多 运行完就 9 行

放在c++ 编译器里 运行下看看 就知道了

交换函数里面是肯定交换了,

而只有 指针传递和引用传递 才会对原来的变量值产生影响;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式