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

来源:互联网 发布:实时远程教学软件 编辑:程序博客网 时间:2024/06/04 19:42

问题及代码:

/* *Copyright (c) 2015烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:wuhao.cpp *作者:武昊 *完成日期:2016年9月8日 *版本号:v1.o * *问题描述:函数参数传递的三种方式 *输入描述:输入两个整数 *程序输出:调换位置后的两个整数 */<pre class="cpp" name="code">#include <iostream>using namespace std;void myswap(int x,int y){int t;t=x;x=y;t=t;}int main(){int a,b;cout<<"请输入待交换的两个整数:"<<endl;cin>>a>>b;myswap(a,b);cout<<"调用交换函数后的结果是:"<<a<<' '<<b<<endl;return 0;}
<img src="http://img.blog.csdn.net/20160908105001742?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

原因分析:

实参到形参是单向传递

问题及代码:

#include <iostream>using namespace std;void myswap(int *p1,int *p2){int t;t=*p1;*p1=*p2;*p2=t;}int main(){int a,b;cout<<"请输入待交换的两个整数:"<<endl;cin>>a>>b;myswap(&a,&b);cout<<"调用交换函数后的结果是:"<<a<<' '<<b<<endl;return 0;}


运行结果:

原因分析:

传递的是地址,把a,b的地址作为实参传给形参,最后交换的是地址指向的内存单元,所以可以实现。

 

问题及代码:

 

#include <iostream>using namespace std;void myswap(int *p1,int *p2){int t;t=*p1;*p1=*p2;*p2=t;}int main(){int a,b;cout<<"请输入待交换的两个整数:"<<endl;cin>>a>>b;myswap(&a,&b);cout<<"调用交换函数后的结果是:"<<a<<' '<<b<<endl;return 0;}

运行结果:

原因分析:

引用就是一个内存空间有两个名字,这里用引用作形参,对x,y的交换就是对a,b的交换。

 

学习心得:

初步掌握了三种函数参数传递的方式,通过自己动手发现了其规律及特点。


                                             
0 0
原创粉丝点击