第二周-项目一-函数参数传递的三种表达方式

来源:互联网 发布:ntc 单片机测温电路 编辑:程序博客网 时间:2024/05/07 03:20
问题及代码:
变换两个整形变量
*烟台大学计算机与控制工程学院 *作者:陈飞
 *时间:2016年9月9号 * * * * *问题描述:函数参数传递的三种表示方式 *输入描述:输入两个整数 *程序输出:调换位置 */#include<iostream>using namespace std;void myswap(int x, int y){    int t;    t=x;    x=y;    y=t;}int main(){int a,b;cout<<"请输入待交换的两个整数:";cin>>a>>b; myswap(a,b);cout<<"调用函数交换后的结果是:"<<a<<" "<<b;return 0;}

原因分析:形参交换,实参到形参是单向传递,函数调用后,形参被释放,实参没有调换位置。



 

#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<<"请输入待交换的两个整数:";cin>>a>>b; myswap(&a,&b);cout<<"调用函数交换后的结果是:"<<a<<" "<<b;return 0;}


原因分析:址传递,地址进行交换。


 

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


原因:用了引用
<pre class="cpp" name="code">知识点总结:熟悉了实参、指针


 

0 0