第二周项目一c/c++语言中函数参数传递的三种方式
来源:互联网 发布:王源sleep 知乎 编辑:程序博客网 时间:2024/04/29 15:50
问题:
运行结果:
运行结果:
运行结果:
/* *Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:项目1函数参数传递的三种方式.cpp *作 者:高金艳 *完成日期:2016年9月7日 *版 本 号:v1.0 * *问题描述:C语言提供了两种函数参数传递的方式:传值和传地址。 在C++中,又拓展了引用方式。通过本项目,确认自己 已经掌握了这三种方式的原理,为后续学习做好准备。 *输入描述:两个字符 *程序输出:交换后的两个字符 */
(1)传值
#include<stdio.h> void myswap(int,int); int main() { int a, b; printf("请输入待交换的两个整数:"); scanf("%d %d", &a, &b); myswap(a,b); //分三个程序,分别写上调用myswap的合适形式 printf("调用交换函数后的结果是:%d 和 %d\n", a, b); return 0; } //(1)传值 void myswap(int x, int y) { int t; t=x; x=y; y=t; }
运行结果:
由运行结果来看,没有进行交换。因为使用这种方式,调用函数本身不对实参进行操作,因此没有进行交换。
(2)传地址
#include<stdio.h> void myswap(int *,int *); int main() { int a, b; printf("请输入待交换的两个整数:"); scanf("%d %d", &a, &b); myswap(&a,&b); printf("调用交换函数后的结果是:%d 和 %d\n", a, b); return 0; } //(2)传地址 void myswap(int *p1, int *p2) { int t; t=*p1; *p1=*p2; *p2=t; }
运行结果:
把实参的存储地址传送给对应的形参,从而使得形参指针和实参指针指向同一个地址。因此交换成功。
(3)引用做形参
#include<stdio.h> void myswap(int &,int &); int main() { int a, b; printf("请输入待交换的两个整数:"); scanf("%d %d", &a, &b); myswap(a,b); printf("调用交换函数后的结果是:%d 和 %d\n", a, b); return 0; } //(3)引用作形参 void myswap(int &x, int &y) { int t; t=x; x=y; y=t; }
运行结果:
x,y分别引用了a,b两个变量,实际上x,y就是a,b的别名,因此交换x,y就可以交换ab
知识点总结:
从这三个程序中我进一步巩固了函数参数传递的三种方式,也更加理解了三种不同方式的区别。
学习心得:
现在更深的理解了这三种方式,这只是开始,以后学习的还有更多更难,一定好好学。
0 0
- 第二周项目一 C/C++语言中函数参数函数传递的三种方式
- 第二周项目一c语言中函数参数传递的三种方式
- 第二周项目一c/c++语言中函数参数传递的三种方式
- 第二周项目一 c语言中函数参数传递的三种方式
- 第二周项目一c/c++语言中函数参数传递的三种方式
- 第二周项目一 C/C++语言中函数参数传递的三种方式
- 第二周项目一-C/C++语言中函数参数传递的三种方式
- 第二周 项目一 C/C++语言中函数参数传递的三种方式(三):.引用传递
- 第二周 项目一 C/C++语言中函数参数传递的三种方式(二):地址传递
- 第二周项目一C/C++语言中函数参数传递的三种方式之传值
- 第二周项目1—C++/C语言中函数参数传递的三种方式
- 第二周 项目一 C/C++语言中函数参数传递的三种方式(一):传值
- 第二周 项目一 ——C/C++语言中函数参数传递的三种方式
- 第二周项目1-C/C++语言中函数参数传递的三种方式
- 第二周项目1-c/c++语言中函数参数传递的三种方式
- 第二周项目:C/C++语言中函数参数传递的三种方式
- 第二周项目-c语言中函数参数传递的三种方式
- 第二周项目1 C/C++语言中函数参数传递的三种方式
- 差分约束(就是把不等式转化为一个图,然后就可以做了,现在看来,我是很水的,我以前根本没有写过是spfa,然后我也煤油搞懂spfa的核心思想,)
- AngularJS之依赖注入(实例一)
- CSS-省略号
- 字符串分隔
- Ubuntu 通过ppa安装node
- 第二周项目一c/c++语言中函数参数传递的三种方式
- 原来只是说说而已
- rem adb command 注释符号
- HDU:1266 Reverse Number
- fastboot烧写软件
- Linux下python2.7安装pip
- NOI题解(1.8编程基础之多维数组)(待补全)
- CCF 201604-3 提交0分,本地通过
- 77. Combinations Question