C++练习6 不同参数的传递方式
2024-10-20 09:25:30
当函数的形参是变量时,函数内的操作是只对形参的操作,并不会对实参造成影响
当函数的形参是引用时,在函数内对形参操作的同时也会对实参造成影响
1 #include <iostream>
2 using namespace std;
3 void SwapValue(int a, int b)//在主函数之前设置自定义函数,形参是变量时的传递值
4 {
5 int tmp;//定义变量 tmp 用于a,b值交换
6 tmp = a;
7 a = b;
8 b = tmp;
9 cout << "在SwapValue()函数中:\t\ta =" << a << ",b=" << b << endl;
10 return;
11 }
12 void SwapRef(int& a, int& b)//设置两个引用a,b,形参是引用时的传递值
13 {
14 int tmp;//用于a,b值交换
15 tmp = a;
16 a = b;
17 b = tmp;
18 cout << "在SwapRef函数中:\t\ta =" << a << ",b=" << b << endl;
19 return;
20 }
21 int main()
22 {
23 int a = 10, b = 20;
24 cout << "数据交换前:\t\ta=" << a << ",b=" << b << endl << endl;
25 SwapValue(a, b);//调用SwapValue函数
26 cout << "调用SwapValu()后:\t\t a=" << a << ",b=" << b << endl;//原因是在函数中只有形参被交换,实参未被交换,因此输出值未被交换,
27 a = 10;
28 b = 20;
29 SwapRef(a, b);//调用SwapRef函数
30 cout << "调用SwapRef()后:\t\ta=" << a << ",b=" << b << endl;//输出值被交换,原因是函数的形参是引用,函数内部对形参的交换就是对实参的交换
31 return 0;
32 }
最新文章
- Lesson 15 Good news
- save_data
- Scala 深入浅出实战经典 第55讲:Scala中Infix Type实战详解
- 高性能的分布式内存对象缓存系统Memcached
- boost 1.57.0安装
- PHP浮点数的一个常见问题的解答 (转载 http://www.laruence.com/2013/03/26/2884.html)
- c# DataTable 中 Select 和 Clone 用法结合
- maven snapshot和release版本号之间的差
- Python内置函数(29)——slice
- git 学习(4) ----- git rebase
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->;用户管理模块新增“重置用户密码”功能
- VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——AlbumView相册控件的使用方式
- vue学习(1)
- 弹窗中修改select默认值遇到的问题
- Ubuntu中编译helloworld驱动
- Webpack Plugin
- 【代码审计】eduaskcms_v1.0.7前台存储型XSS漏洞分析
- c++ 自定义类型,函数指针类型
- C++ Builder创建和调用dll中的资源
- [爬虫] 学Scrapy,顺便把它的官方教程给爬下来
热门文章
- i春秋时间
- tostring、(string)和 String.valueOf()
- 【CDH数仓】Day01:概念、环境搭建、CDH数仓搭建、用户行为数仓搭建
- SQL语句筛选/查询
- .net6制作让同事不能上网的arp欺骗工具
- Selenium4+Python3系列(十二) - 测试框架的设计与开发
- 瞧瞧别人家的API接口,那叫一个优雅
- 制作 Python Docker 镜像的最佳实践
- Python全栈工程师之从网页搭建入门到Flask全栈项目实战(6) - Flask表单的实现
- Blazor组件自做十四 : Blazor FileViewer 文件预览 组件