第一周项目1 -C/C++语言中函数参数传递的三种方式
来源:互联网 发布:声音主播用什么软件 编辑:程序博客网 时间:2024/05/18 15:52
/*
* Copyright(c)2016, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:zxl.cpp
* 作 者:邹晓琳
* 完成日期:2016年9月4日
*
* 问题描述:两种函数参数的三种方式。
* 输入描述:交换前的三个值
* 输出描述:交换后的三个值
*/
* Copyright(c)2016, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:zxl.cpp
* 作 者:邹晓琳
* 完成日期:2016年9月4日
*
* 问题描述:两种函数参数的三种方式。
* 输入描述:交换前的三个值
* 输出描述:交换后的三个值
*/
(1)//传值:
#include<iostream>
using namespace std;
void myswap(int x, int y)
{
int t;
t=x;
x=y;
y=t;
} ;
using namespace std;
void myswap(int x, int y)
{
int t;
t=x;
x=y;
y=t;
} ;
int main()
{
int a, b;
cout<<"请输入待交换的两个整数:"<<endl;
cin>>a>>b;
myswap(a,b);
cout<<"调用交换函数后的结果是:"<<endl;
cout<<a<<" "<<b<<endl;
return 0;
}
{
int a, b;
cout<<"请输入待交换的两个整数:"<<endl;
cin>>a>>b;
myswap(a,b);
cout<<"调用交换函数后的结果是:"<<endl;
cout<<a<<" "<<b<<endl;
return 0;
}
(2)//传地址:
#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<<"调用交换函数后的结果是:"<<endl;
cout<<a<<" "<<b<<endl;
return 0;
}
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<<"调用交换函数后的结果是:"<<endl;
cout<<a<<" "<<b<<endl;
return 0;
}
(3)//引用形参
#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<<"请输入待交换的两个整数:"<<endl;
cin>>a>>b;
myswap(a,b);
cout<<"调用交换函数后的结果是:"<<endl;
cout<<a<<" "<<b<<endl;
return 0;
}
using namespace std;
void myswap(int &x, int &y)
{
int t;
t=x;
x=y;
y=t;
};
int main()
{
int a, b;
cout<<"请输入待交换的两个整数:"<<endl;
cin>>a>>b;
myswap(a,b);
cout<<"调用交换函数后的结果是:"<<endl;
cout<<a<<" "<<b<<endl;
return 0;
}
运行结果:
(1)传值
(2) 传地址
(3)引用形参
知识点总结:
第一种传参方式只传了形参的值而没有将空间进行传递,主函数中实参并没有得到交换。
后两种情况则很好的解决了这一点将形参与实参都得以交换,第一种通过传递地址改变了实参的地址,第二种通过引用形参将实参形参都交换。
学习心得:
解决问题的方法不止有一种,要学会通过多种方法解决一个问题,并从中选取最简单的方法。
0 0
- 第一周项目1 -C/C++语言中函数参数传递的三种方式
- 第一周项目 — C/C++语言中函数参数传递的三种方式
- 第一周 项目一C/C++语言中函数参数传递的三种方式
- 第一周项目 C/C++语言中函数参数传递的三种方式
- 第1周项目1-C/C++语言中函数参数传递的三种方式
- 第2周项目1-C/C++语言中函数参数传递的三种方式
- 第2周项目1 - C/C++语言中函数参数传递的三种方式
- 第2周项目1C/C++语言中函数参数传递的三种方式
- 第2周 项目1 - C/C++语言中函数参数传递的三种方式
- 第2周 项目1 - C/C++语言中函数参数传递的三种方式
- 第2周项目1--c/c++语言中函数参数传递的三种方式
- 第2周项目1-C/C++语言中函数参数传递的三种方式
- 第2周项目1c/c++语言中函数参数传递的三种方式
- 第2周项目1 C/C++语言中函数参数传递的三种方式
- 第2周 项目1-C/C++语言中函数参数传递的三种方式
- 第2周项目1-C/C++语言中函数参数传递的三种方式
- 第2周项目1 C/C++语言中函数参数传递的三种方式
- 第2周项目1 C/C++语言中函数参数传递的三种方式
- zk安装
- 翻转数组
- Android大牛
- 机房收费系统---总结篇
- axis1.4发布返回复杂类型的webservice服务+代码访问+客户端访问
- 第一周项目1 -C/C++语言中函数参数传递的三种方式
- 满二叉树、完全二叉树、平衡二叉树、哈夫曼树
- @TargetApi(Build.VERSION_CODES.JELLY_BEAN)的作用
- JSP内置对象
- 快速上手seajs——简单易用Seajs
- UVA 1586 Molar mass (数组)
- 图像语义分割之FCN和CRF
- 如何参与开源项目
- windows7使用MyEclipse2014的git插件提交文件到github,报错not authorized