第二周项目1函数参数传递的三种方式

来源:互联网 发布:黑客用的系统 知乎 编辑:程序博客网 时间:2024/06/06 03:28
/* *烟台大学计算机与控制工程学院 *作者:刘熠 *时间:2015年9月11号 * * * * *问题描述:函数参数传递的三种表示方式 *输入描述:输入两个整数 *程序输出:调换位置 */#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;}


原因:用了引用的方法。

 

知识点总结:熟悉了实参、指针等知识。

 

 

0 0
原创粉丝点击