数据结构第二周项目-C++参数传递的三种方式
来源:互联网 发布:网络维护培训资料 编辑:程序博客网 时间:2024/06/05 08:32
/* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:多文件组织 *作 者:张昕 *完成日期:2017年11月9日 *版 本 号:v1.0 */
传值一共分为三种:传值,传地址,引用做形参。
1.传值
#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<<a<<" "<<b<<endl; return 0; }
调试如下
通过myswap()函数直接传值,在myswap()函数中a,b的值发生了传递,但主函数中a,b的值不发生改变。
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<<a<<" "<<b<<endl; return 0;}调试如下
在myswap()函数中,*p1,*p2指向实参,通过更改*p1,*p2达到交换实参数值的目的。
3.引用做形参
#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<<a<<" "<<b<<endl; return 0; }
调试如下
形参实参公用一片内存空间,改变形参p1,p2的同时,实参a,b也跟着改变。
阅读全文
0 0
- 数据结构第二周项目-C++参数传递的三种方式
- 第二周项目1—C++/C语言中函数参数传递的三种方式
- 数据结构第二周项目--C/C++语言中函数传递的三种方式
- 数据结构第二周项目--C/C++语言中函数传递的三种方式
- 第二周项目1-C/C++语言中函数参数传递的三种方式
- 第二周项目1-c/c++语言中函数参数传递的三种方式
- 第二周项目:C/C++函数参数传递的三种方式
- 第二周项目:C/C++语言中函数参数传递的三种方式
- 第二周项目-c语言中函数参数传递的三种方式
- 第二周项目1 C/C++语言中函数参数传递的三种方式
- 第二周项目- C/C++语言中函数参数传递的三种方式
- 第二周项目1 C/C++语言中函数参数传递的三种方式
- 第二周项目—C/C++语言中函数参数传递的三种方式
- 第二周项目-c语言中函数参数传递的三种方式
- 第二周 项目1-C/C++语言中函数参数传递的三种方式
- 第二周 项目1 C/C++语言中函数参数传递的三种方式
- 第二周 项目1-C/C++语言中函数参数传递的三种方式
- 第二周项目1 - C/C++语言中函数参数传递的三种方式
- HDU4452 Running Rabbits(模拟)
- Map集合遍历
- 请写出 float x 与“零值”比较的 if 语句(面试题)
- 中国科学院微生物研究所——人类肠道微生物2016年文章精选
- hdu 3966 Aragorn's Story(树链剖分)
- 数据结构第二周项目-C++参数传递的三种方式
- 【Android系列】View的绘制之measure过程
- DDL-操作数据库
- 我的gulp的初次尝试
- HTTP Status 405
- pat乙级1010题笔记
- 探究O(n^2)和O(nlogn)时间复杂度下各排序算法应用场景(一)
- Linux Socket 过程详细解释(三次建立握手,四次断开连接)
- UVA 10926 How Many Dependencies?