函数传值的三种方法_c语言 怎么实现函数参数可传可不传-程序员宅基地

第一种:

#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;
   cout<<a<<"  "<<b<<endl;
   return 0;
}


运行结果:








注释:该方法在调用myswap函数时开辟的内存空间在函数调用结束时会释放掉,因此没有起到传值的效果。



第二种:

#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;
   cout<<a<<"  "<<b<<endl;
   return 0;
}

运行结果:



注释:此方法中,运用指针,调用函数时,将变量的地址交换,成功起到了数值的交换。



第三种:

#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;
cout<<a<<"  "<<b<<endl;
return 0;
}

运行结果:


注释:此程序运用了引用,给需要交换的变量“另起一个名字”,起到了交换的作用。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_37151953/article/details/78094595

智能推荐

java中弹出窗口的默认大小,java – 当浏览器窗口调整大小时,GWT调整大小和居中弹出窗口...-程序员宅基地

文章浏览阅读206次。我需要在浏览器窗口调整大小时调整大小.我在我的弹出构造函数中添加了ResizeHandler,但在几个浏览器调整大小center()函数后创建新的弹出窗口,而不是居中当前.这里有一些我已经尝试过的代码.请告诉我如何解决这个问题或建议一些解决方案.public BigPopup() {...final BigPopup self = this;Window.addResizeHandler(new ..._java实现调用默认浏览器打开网址并设置桌面大小

【STM32F4】HAL库 CubeMX(四)--------外部中断实验_stm32f4 外部中断 hal-程序员宅基地

文章浏览阅读2.4k次,点赞18次,收藏16次。前言我们前面学习了通过IO的输入模式达到按键控制效果,这里我们将介绍 STM32F4 外部 IO 口的中断功能,通过中断的功能,达到同样的效果,即:通过板载的 4 个按键,控制板载的两个 LED 的亮灭以及蜂鸣器的发声。一、外部中断是什么?STM32F4 的每个 IO 都可以作为外部中断的中断输入口,这点也是 STM32F4 的强大之处。STM32F407 的中断控制器支持 22个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置。STM32F407 的 22 个外部_stm32f4 外部中断 hal

ST-GCN复现过程(Ubuntu20.04+GPU)(已完结)_stgcn复现-程序员宅基地

文章浏览阅读2k次,点赞11次,收藏34次。ST-GCN复现全过程_stgcn复现

【虹膜识别】论文阅读:Fast Iris Segmentation under Partly Occlusion Based on MTCNN and Weighted FCN】_眼睛遮蔽权重-程序员宅基地

文章浏览阅读147次。本文针对情况,提出了一种虹膜分割方法,包括基于的快速眼部检测、基于和的虹膜分割以及虹膜半径坐标校正。首先,我们将多任务级联卷积网络应用于眼睛检测,该网络具有轻巧、快速的特点。然后,我们提出加权FCN和Hough变换来分割虹膜,即使虹膜部分遮挡。最后,设计了一种校正方案来校正真实世界中的虹膜半径。_眼睛遮蔽权重

android 获取apk主activity,关于如何知道一个安装的apk的主activity-程序员宅基地

文章浏览阅读975次。关于如何查找知道一个安装的apk的主activity关于如何查找知道一个安装的apk的主activity,从而命令行进行am start的方法:$ adb install /media/neil/neil/temp/com-futuremark-dmandroid-application.apk7059 KB/s (28784923 bytes in 3.982s)Success$$ adb sh..._android studio如何获取包的首个activity

利用Navicat快速将数据库数据传输到另一个数据库方法(图文)_navicat怎么将数据库复制到另一个数据库-程序员宅基地

文章浏览阅读4.8k次,点赞2次,收藏7次。数据传输到另一个数据库,把数据库stock中的数据传输到数据库hhhhhh中。3、勾选你想要传输的数据,这里选择所有数据,选择完成后,点击 下一步。这里演示的是利用Navicat,快速将。2、选择目标、源数据库,点击 下一步。4、点击 开始,即可开始传输。选项卡,点击 数据传输。_navicat怎么将数据库复制到另一个数据库

随便推点

百套精选安卓(Android)毕业设计大全:含论文、大作业及原创作品(Android Studio专用),配套完整源码与详尽论文,助力学术成果卓越展现_android studio 毕业设计网站-程序员宅基地

文章浏览阅读521次,点赞8次,收藏9次。我们专注于软件开发工程领域,熟练掌握多种开发技术,Android APP和微信小程序的开发。添+My number is one--zero-three-two-three-seven-one-two-one。的咖啡销售管理系统的设计与实现 ( 原材料交易 )的流浪猫狗求助系统的设计与实现。小说阅读系统的设计与实现。酒店管理系统的设计与实现。宠物寄养系统的设计与实现。校园疫情防控的设计与实现。的医院人力资源管理系统。的大学生实习管理系统。的高校实验室管理系统。网上书店电子商务系统。_android studio 毕业设计网站

Win10 2004/20H2/21H1/21H1版如何取消开机登录密码 | 解决运行netlpwiz没有取消密码的复选框_netplwiz没有取消开机密码-程序员宅基地

文章浏览阅读3.1w次,点赞18次,收藏28次。文章目录1. 按2. 解决方案一:重新显示“要使用本计算机,用户必须输入用户名和密码”项3. 解决方案二:把用户的密码完全删除掉1. 按有些用户在安装win10 2004系统之后(如:20H2),都喜欢给电脑设置开机密码,但是使用一段时间之后,可能想要取消开机登录密码,但却发现Windows10 2004中运行netplwiz之后却发现没有取消输入密码的复选框。2. 解决方案一:重新显示“要使用本计算机,用户必须输入用户名和密码”项按下WIN+R打开运行,输入regedit然后回车以打开注册_netplwiz没有取消开机密码

S5PV210裸机(五):定时器_s5pv210 rtc-程序员宅基地

文章浏览阅读184次。PWM定时器时钟源为PCLK_PSYS,timer0、1共用prescaler0预分频器(8位),timer2、3、4使用prescaler1预分频器(8位),且每个timer有分频器预分频器和分频器构成分频系统,将PCLK_PSYS分频后的时钟给timer作为时钟周期。TCNT(不可读写)用于周期递减(-1)将计数值写入TCNTB中,启动timer前需要将TCNTB中的值刷到TCNT中(手写寄存器输入一次)预分频器分频值范围为1~256,分频器是MUX开关(1/1,1/2,1/4,1/8,1/16)_s5pv210 rtc

支持继续选择的多文件上传_上传选择多文件-程序员宅基地

文章浏览阅读685次。最近在写一个小系统的时候遇到了一个文件上传的问题需要支持文件继续选择后上传全部的内容。这里记录一下学习的过程,以备后面会再次遇到。以前遇到的文件上传一般是单文件上传或者通过设置input的属性&lt;input name="file[]" type="file" multiple&gt;在后台通过遍历$_FILES[]数组(PHP)来实现多文件上传,但是这都是一次选择的结果,如果选择某些文件后再次..._上传选择多文件

MFC生成带控件的dll以及dll的调用_怎么在dll中创建mfc控件-程序员宅基地

文章浏览阅读4.2k次。之前没有做过dll方面的工程,但是由于最近需要,于是就做了这方面的工作,从一窍不通到总算做出来了,期间问过了很多位大神,大家给的方式都不同,搞得我是晕头转向。最后,总算明白了一点点其中的道理。要做dll,首先得创建一个dll工程,这里一路默认即可,例如命名为:testdll。由于我们要将dll文件和接口文件发送给别人使用,所以这个时候就要创建接口文件并且制定接口函数。最后对方只要得到这个接口文_怎么在dll中创建mfc控件

jQuery实现“多Tab切换效果"_jq 循环 tabs-程序员宅基地

文章浏览阅读2.9k次。&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;多Tab切换案例&lt;/title&gt; &lt;style&gt; * { margin:_jq 循环 tabs

推荐文章

热门文章

相关标签