第二周项目1——c/c++语言中函数参数传递的三种方式
来源:互联网 发布:17-18赛季詹姆斯数据 编辑:程序博客网 时间:2024/05/16 10:22
问题及代码:
运行结果:
/* *Copyright(c++)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:cpp1.cpp 作者:宋 晨 完成日期:2015年09月11日 版本号:v1.0 * *问题描述:C语言提供了两种函数参数传递的方式:传值和传地址。在C++中,又拓展了引用方式。 通过本项目,确认自己已经掌握了这三种方式的原理,为后续学习做好准备。 *输入描述:两个数*程序输出:交换后的两个数*/<pre name="code" class="csharp">//(1)传值#include <iostream>#include <cstdio>using namespace std;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;}void myswap(int x, int y) { int t; t=x; x=y; y=t; }
运行结果:
观察结果:值没有被交换。因为ab两值传递给了myswap中的xy,但是xy交换后没有返回给ab
问题及代码:
//(2)传地址#include <iostream>#include <cstdio>using namespace std;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;}void myswap(int *p1, int *p2) { int t; t=*p1; *p1=*p2; *p2=t; }
运行结果:
观察结果:
两个数正确进行了交换。
问题及代码:
#include <iostream>#include <cstdio>using namespace std;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;}void myswap(int &x, int &y) { int t; t=x; x=y; y=t; }
运行结果:
观察结果:
两个数正确进行了交换。
知识点总结:考查C语言的指针与引用实现参数传递,以及对函数的引用
学习心得:表示C语言用不太顺手。。。头文件那里可能写的乱七八糟的,第(2)(3)的原因解释不太出来,还需要加强这个知识点的学习。
0 0
- 第二周项目1—C++/C语言中函数参数传递的三种方式
- 第二周项目1—C/C++语言中函数参数传递的三种方式
- 第二周项目1—C/C++语言中函数参数传递的三种方式
- 第二周 项目1—C/C++语言中函数参数传递的三种方式
- 第二周项目 1—C/C++语言中函数参数传递的三种方式
- 第二周项目—C/C++语言中函数参数传递的三种方式
- 第二周项目 2—C/C++语言中函数参数传递的三种方式
- 第二周项目 2—C/C++语言中函数参数传递的三种方式
- 第二周项目 2—C/C++语言中函数参数传递的三种方式
- 第二周项目 2—C/C++语言中函数参数传递的三种方式
- 第二周项目 2—C/C++语言中函数参数传递的三种方式
- 第二周项目1-C/C++语言中函数参数传递的三种方式
- 第二周项目1-c/c++语言中函数参数传递的三种方式
- 第二周项目1 C/C++语言中函数参数传递的三种方式
- 第二周项目1 C/C++语言中函数参数传递的三种方式
- 第二周 项目1-C/C++语言中函数参数传递的三种方式
- 第二周 项目1 C/C++语言中函数参数传递的三种方式
- 第二周 项目1-C/C++语言中函数参数传递的三种方式
- 主机hdmi接口连上第二块显示器后,耳机没有声音
- UI一揽子计划 15 (XML的解析方式 (SAX解析/ DOM解析) 、JSON 解析)
- 24位位图转8位灰度图
- 让PopupWindow显示在Dialog之上
- TCP 传输文件----深入pack/unpack
- 第二周项目1——c/c++语言中函数参数传递的三种方式
- x11 api
- 亚信联创2011.9.17招聘会笔试题
- Eclipse常用开发插件
- Boost - 序列化 (Serialization) (写得很好**)
- X Window 程式设计入门
- 检验通信主机是否在线
- codecombat安息之云山峰32-36关及森林49关代码分享
- mongodb关闭服务