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

2025-01-01 13:25:23
推荐回答(1个)
回答1:

#include

using namespace std;

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

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

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

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

写的有点多 运行完就 9 行

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

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

而只有 指针传递和引用传递 才会对原来的变量值产生影响;