项目1--C/C++语言中函数参数传递的三种方式

来源:互联网 发布:创业软件官网 编辑:程序博客网 时间:2024/05/29 10:35

//(1)传值:

#include<stdio.h>  
void myswap(int,int); 
int main()
{
 int a,b;
 printf("请输入待交换的两个整数:");
 scanf("%d %d",&a,&b);
 myswap(a,b);
 printf("调用交换函数后的结果是:%d和%d/n",a,b);
 return 0;
}

void myswap(int x,int y)
{
 int t;
 t=x;
 x=y;
 y=t;
}
输出结果为:

 

//(2)传地址

 

#include<stdio.h>  
void myswap(int *,int *); 
int main()
{
 int a,b;
 printf("请输入待交换的两个整数:");
 scanf("%d %d",&a,&b);
 myswap(&a,&b);
 printf("调用交换函数后的结果是:%d和%d\n",a,b);
 return 0;
}


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

 输出结果为:

(3)引用做形参

#include<stdio.h>  
void myswap(int &,int &); 
int main()
{
 int a,b;
 printf("请输入待交换的两个整数:");
 scanf("%d %d",&a,&b);
 myswap(a,b);
 printf("调用交换函数后的结果是:%d和%d\n",a,b);
 return 0;
}


void myswap(int &x,int &y)
{
 int t;
 t=x;
 x=y;
 y=t;

}

 

输出结果为

 

 

总结:1.传值只是形参发生了改变,实参并没有发生改变。

            2.传地址是将地址传给了相应的实参。

           

 

 

 

 

0 0