第二周项目一
来源:互联网 发布:怎么成为数据库管理员 编辑:程序博客网 时间:2024/06/05 18:21
【项目1 - C/C++语言中函数参数传递的三种方式】
/* * Copyright (C) 2016, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称 : hhh.cpp * 作 者 : 张雨萌 * 完成日期 : 2017年9月12日 * 版 本 号 : v1.0
问题描述: C语言提供了两种函数参数传递的方式:传值和传地址。在C++中,又拓展了引用方式。下面是希望能够交换两个整型变量的swap函数的三个版本
输入描述: 两个整型变量
程序输出: 交换值之后的两个整型变量
程序代码如下:
(1)传值
#include<stdio.h> using namespace std; void myswap(int x, int y)//计算机给形参开辟内存空间 { int t; t=x; //形参进行值的交换 x=y; y=t; //完成值的交换 } //开辟的内存空间被释放,但交换后的值无法传回,所以交换失败 int main() { int a, b; printf("请输入待交换的两个整数:"); scanf("%d %d", &a, &b); void myswap(int a, int b); //传值给形参 printf("调用交换函数后的结果是:%d 和 %d\n", a, b); return 0; }
运行结果:失败
(2) 传地址
#include<stdio.h> using namespace std; void myswap(int *p1, int *p2) //指针变量做形参,不再单独开辟内存空间 { int t; t=*p1; *p1=*p2; *p2=t; } //通过指针改变两个数值,从而完成数值交换 int main() { int a, b; int *p1,*p2; printf("请输入待交换的两个整数:"); scanf("%d %d", &a, &b); p1=&a; p2=&b; myswap(p1, p2); //指针变量做形参 printf("调用交换函数后的结果是:%d 和 %d\n", a, b); return 0; }
运行结果:成功
(3)引用做形参
#include<stdio.h> using namespace std; void myswap(int &x, int &y) { int t; t=x; x=y; y=t; } // 引用相当于给实参起了个小名,交换过程中直接改变实参数值,所以交换成功 int main() { int a, b; printf("请输入待交换的两个整数:"); scanf("%d %d", &a, &b); myswap(a,b); //引用做形参 printf("调用交换函数后的结果是:%d 和 %d\n", a, b); return 0; }
运行结果:成功
知识点总结:
在这个程序中,再一次复习了三种交换函数,加深了对形参及实参的认识。
学习心得:
在编程的过程中发现了许多平时不会注意的问题,在多次调试代码的过程中,我变得更细心了,考虑问题也变得更加全面,希望以后越来越好!
阅读全文
0 0
- 第二周项目一
- 第二周项目一
- 第二周项目一
- 第二周项目一
- 第二周项目一
- 第二周项目一
- 第二周项目一
- 第二周 项目一
- 第二周项目一
- 第二周项目一
- 第二周项目一
- 第二周项目一
- 第二学期第二周项目一
- 第二周项目一三角形
- 第二周实践项目一
- 17周项目一第二个
- 第二周:项目一结构体
- 第二周项目一学生成绩统计
- 快速排序 C++
- wpf的小问题实记1---TextBox无法拖入事件
- python备忘六:list 列表之列表基本特性
- 安卓书籍--从入门到精通
- Jupyter Notebook的快捷键帮助文档
- 第二周项目一
- 群体运动度量--Measuring Crowd Collectiveness
- c++ ODBC使用
- 【备忘】Java菜鸟到大牛学习路线之高级篇
- *p++和(*p)++区别
- pc调试微信h5页面
- MSDN例子获取操作系统版本信息Getting the System Version
- java split |
- c#中bin,obj,properties文件夹的作用