<span style="font-size:18px;">问题及代码:</span>
<span style="font-size:18px;">代码1:</span><pre class="cpp" name="code"><span style="font-size:12px;">#include<iostream>
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);  //分三个程序,分别写上调用myswap的合适形式
printf("调用交换函数后的结果是:%d 和 %d\n", a, b);
return 0;
}
</span>
 
<span style="font-size:14px;">代码2:</span>
#include<iostream>
using namespace std;
void myswap(int *p1, int *p2)
{
int  t;
t=*p1;
*p1=*p2;
*p2=t;
}
int main()
{
int a, b;
printf("请输入待交换的两个整数:");
scanf("%d %d", &a, &b);
myswap(&a,&b);  //分三个程序,分别写上调用myswap的合适形式
printf("调用交换函数后的结果是:%d 和 %d\n", a, b);
return 0;
}
<span style="font-size:14px;">代码3:</span>
#include<iostream>
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);  //分三个程序,分别写上调用myswap的合适形式
printf("调用交换函数后的结果是:%d 和 %d\n", a, b);
return 0;
}
<span style="font-size:14px;">运行结果:
</span>

知识点总结:
        程序1中swap函数改变的值是形参的值,而输出的是实参的值,固交换不成功;程序2中,swap函数传递的是实参的地址,交换的是实参的值,固交换成功;程序3中引用作形参,因为是引用,所以实际交换的还是实参的值,固交换成功。

学习心得:

通过本次三种数值交换程序,让我更清晰的理解了实参与形参,更清晰的明白了内存地址的意义,这次程序的比较对我帮助非常大!

项目1- C/C++语言中函数参数传递的三种方式相关推荐

  1. 第2周项目1c++语言中函数参数传递的三种方式

    copyright (t) 2017,烟台大学计算机学院*All rights reserved.*文件名称:1.cpp*作者:邵雪源*完成日期:2017年9月7日*版本号:v1.0 */ #incl ...

  2. c/c++语言中函数参数传递的三种方式——徐吉平

    此篇为本人处女作,希望大家多多指正 1.这是c/c++中的函数传值方式,函数中只交换了 形参x,y的数值,而实参a,b的值并没有发生变化 #include <stdio.h> void m ...

  3. python中函数参数传递的三种方式_python中函数参数传递的几种方法

    转自  http://www.douban.com/note/13413855/ Python中函数参数的传递是通过"赋值"来传递的.但这条规则只回答了函数参数传递的"战 ...

  4. 第二周项目1函数参数传递的三种方式

    /* .*Copyright (c) 2014,烟台大学计算机学院 *All right reserved. *文件名称:函数参数传递的三种方式.cpp *作者:彭子竹 *完成日期:2015年9月11 ...

  5. c语言 函数参数传递 值传递,c语言中函数参数的三种传递方式——值传递、指针传递、引用传递...

    函数参数有三种传递方式值传递.指针传递.引用传递. 1.值传递 将已经初始化的变量值(或常量)传递到函数中. 例如: int func(int value) { int ret = value++; ...

  6. c语言long型数组怎么初始化,C语言中数组初始化的三种方式是什么?

    C语言中,数组初始化的方式主要有三种: 1.声明时,使用 {0} 初始化: 2.使用memset: 3.用for循环赋值. 那么,这三种方法的原理以及效率如何呢? 请看下面的测试代码:#define ...

  7. 二维数组作为函数参数传递的三种方式

    指针 1.形参声明为二维数组 2.形参声明为一级指针 3.形参声明为二级指针 指针 关于指针的介绍和基础应用推荐一位B站up主的视频 [C指针]十分钟.你要是听不懂.我当场就把这个编译器- 1.形参声 ...

  8. C语言中函数参数传递

    C语言中函数参数传递的三种方式 (1)值传递,就是把你的变量的值传递给函数的形式参数,实际就是用变量的值来新生成一个形式参数,因而在函数里对形参的改变不会影响到函数外的变量的值. (2)地址传递,就是 ...

  9. C语言中函数参数传递的方式:值传递,地址传递

    ** C语言中函数参数传递的方式:值传递,地址传递 ** 值传递:将实参的值复制至形参的相应存储单元中,实参与形参占用不同存储单元,单向传递 地址传递:使用数组名或者指针作为函数参数,传递的是该数组的 ...

最新文章

  1. linux服务器部署.net,Linux服务器部署.Net Core笔记:三、安装.NetCore运行环境
  2. 大话数据库连接池简史,你都用过几个?
  3. java update多个字段的值_SQL的update多个字段的写法
  4. Matlab | Matlab从入门到放弃(10)——线性方程组
  5. 【XLL 框架库函数】 TempActiveCell/TempActiveCell12
  6. 用一辈子去领悟的生活经典[转帖]
  7. 【TensorFlow】TensorFlow从浅入深系列之七 -- 教你使用验证数据集判断模型效果
  8. php遍历memcache,php遍历memcache所有键值
  9. 元胞机模拟量子计算机,我国量子计算和量子模拟研究取得新突破
  10. 我的开发笔记spring等常见问题
  11. Java dicom查看_验证DICOM文件
  12. java楼盘管理系统_javaweb房产信息管理系统
  13. Teorex Inpaint 6.0 简体中文最新破解版(自动去除图片上的水印)
  14. mpp格式文件怎么打开,mpp进度计划
  15. mysql 参考文献_后记amp;参考文献
  16. 帝国CMS7.5仿千图网图片素材下载模板升级版
  17. c++排序(CList类库)
  18. Python深度学习与机器视觉(一)
  19. iOS 设置代理详细步骤
  20. Python小案例:身体指数BMI

热门文章

  1. 【C#】C#二维数组定义方法
  2. 滴滴滴...解析服务器报警音含义
  3. 【小5聊】C# SignalR之主动推送信息的简单解决方案
  4. Theano学习四:单层简单线性模型识别手写字
  5. 2020年一级建造师证书会更值钱吗?
  6. ERP基础之专业名词解释
  7. oracle分页处理实例,Oracle高效分页存储过程实例
  8. wince U盘驱动的增加
  9. 索尼3D环境感知研究解析,目标是让所有设备“理解世界”
  10. 应急响应之Windows/Linux(入侵排查篇)