大家都懂:“交换两个值应该使用地址传参”!!

这本是没有什么好说的!!请看下面:

void swap(int *p1,int *p2)

{

int *temp;

*temp=*p1;

*p1=*p2;

*p2=*temp;

}

写到这里,很多人就一副自我感觉良好的样子(我就是一个):我使用了地址传参啊!我也使用了中间变量啊!

事实以上程序是错误的!!

当人们按正常思路解决了一个问题的时候,往往在其他方面犯了错误!!

且问:temp指向谁?你?那为何你要给它赋值??

编程语言专题《开发篇,交换*p1和*p2的值中常犯错误》相关推荐

  1. 编程语言专题《开发篇,实参数组名与形参数组名》

    1.实参数组名代表一个固定的地址,或者说是指针型常量,因此要改变其值是不可能的. 例如:a++; //语法错误,a是常量,不能改变 2.形参数组名是指针变量,并不是一个固定的地址值,它的值是可以改变的 ...

  2. C语言编程基础-10函数形参数组做形参文件操作

    函数形参 被调函数的形参在被调用时临时创建并使用实参对其赋值,故直接修改形参(特殊形式的形参如指针,数组除外)本身只会影响到被调函数内部; 形式参数是在函数调用发生时临时创建出来的,在函数调用结束时又 ...

  3. c语言 字符串和数组指针,C语言数组与指针一本道来

    数组与指针.png 指针的基础 注意本节内容可能在gcc下不能完成编译,请切换到Windows平台,使用dev-cpp或其他 指针本质上也是一个变量 指针要占用一定的内存空间(任何类型的指针的内存大小 ...

  4. 将数组作为参数,调用该函数时候给的是数组地址还是整个数组

    1.在实际的应用中,数组经常作为函数参数,将数组中的数据传递到另外一个函数中,一般来说,传递可以采用两种方法: 1>.数组元素作为函数的实参时,用法跟普通变量作参数相同,将数组元素的值传递给形参 ...

  5. 在c语言程序中,数组名做函数调用的实参时,传递给形参的是,若用数组名作为函数调用时的实参,则实际上传递给的形参的是(C)...

    若用数组名作为函数调用时的实参,则实际上传递给形参的是数组首地址. 数组首地址数组第一个元素的地址.数组名字本身就是一个指针,它是一个指针常量,指向的地址不变. 比如定义了一个数组变量,编译器就会在内 ...

  6. php 数组与数组之间去重,PHP开发中一维数组与二维数组去重功能实现教程

    本篇文章讲述了PHP实现一维数组与二维数组去重功能示例.希望对在php学习和开发的同学有所帮助! 数组中重复项的去除 一维数组的重复项: 使用array_unique函数即可,使用实例如下: ? $a ...

  7. JavaScript从入门到精通之入门篇(二)函数和数组

    入门篇大纲 第二部分 函数与数组 1.函数 函数的定义 普通函数 function 函数名 (表达式1-) { 代码块 } js是解释性语言,在当前script标签代码执行的开始阶段,就会将普通函数放 ...

  8. php 检测键名,【PHP教学|带你学习用PHP检测键名是否位于数组中,方法已经告诉你了,如果你想学就赶紧】- 环球网校...

    [摘要]PHP作为一种超文本预处理器,已经成为了我们常用的网站编程语言,并且结合了C语言,Java等我们常见的编程语言,所以,有很多web开发领域的新人都看中了他的使用广泛性,有很多人都想了解php的 ...

  9. Linux学习笔记 驱动开发篇

    ARM Linux 驱动开发篇 本篇我们将会详细讲解 Linux 中的三大类驱动:字符设备驱动.块设备驱动和网络设备驱动. 字符设备最多,从最简单的点灯到 I2C.SPI.音频等都属于字符设备驱动的类 ...

  10. ARM裸机开发篇3:ARM汇编语言程序设计

    写在前面: 本文章为<ARM Cortex-A7裸机开发篇>系列中的一篇,全系列总计11篇.笔者使用的开发平台为华清远见FS-MP1A开发板(STM32MP157开发板). 针对FS-MP ...

最新文章

  1. 配置用户通过Telnet登录设备的身份认证(AAA本地认证)
  2. linux centos lamp,Centos下搭建LAMP
  3. xampp for mac mysql_【XAMPP和Xampp For Mac哪个好用】XAMPP和Xampp For Mac对比-ZOL下载
  4. 记录一次在centos下使用gmp的悲伤
  5. U盘中的SanDiskSecureAccess可以删除么?删除后影响U盘的使用么?
  6. 【工具】损坏视频文件修复MP4/MOV格式
  7. APP微信支付报错《商户号该产品权限未开通,请前往商户平台产品中心检查后重试》
  8. 从零实践强化学习之连续动作空间上求解RL(PARL)
  9. SEM数据该如何分析?
  10. 相空间重构 matlab 程序源,matlab求相空间重构延迟时间和嵌入维数
  11. adminLTE框架chart图表的使用
  12. 数据库课程设计-----------学生选课管理系统的设计
  13. Greenplum 实时数据仓库实践(8)——事实表技术
  14. 加速度中的mg/LSB是什么意思
  15. UBuntu 下载安装
  16. ERA5-Land 逐小时数据_累积值(如辐射数据)处理的注意事项
  17. 深度学习 噪声抑制_使用深度学习抑制噪声
  18. 什么是Alpha策略?有什么作用吗?
  19. 7段数码管管脚顺序及译码驱动集成电路74LS47,48
  20. 信号幅度单位/功率单位 及其换算 Layout长度单位

热门文章

  1. java 大小端字节序_理解大小端字节序
  2. JavaScript小技能:事件
  3. 分时显示不同图片,显示不同问候语
  4. 跟着王进老师学开发Python篇第五季:面向对象篇-王进-专题视频课程
  5. web前端开发框架有哪些
  6. 春节假期python
  7. 欲穷千里目,踏上云平台,更上一层楼
  8. 铁矿行业BI经营分析框架(二)万能框架-增长性、盈利性、流动性
  9. Go语言的type func()用法 | type func() 自定义函数类型
  10. Excel数据分析函数