问题描述:运用指针进行角色互换

源代码:

/*运用指针进行角色互换*/

/*只有方案二可以完成角色互换*/

#include

void swap1(int x,int y),swap2(int *px,int *py), swap3(int *px,int *py);

int main(void)

{

int a=1,b=2;

int *pa=&a,*pb=&b;

swap1(a,b);

printf("After calling swap1:a=%d,b=%d\n",a,b);

a=1;

b=2;

swap2(pa,pb);

printf("After calling swap2:a=%d,b=%d\n",a,b);

a=1;

b=2;

swap3(pa,pb);

printf("After calling swap3:a=%d,b=%d\n",a,b);

return 0;

}

void swap1(int x,int y)

{

int t;

t=x;

x=y;

y=t;

}

void swap2(int *px,int *py)

{

int t;

t=*px;

*px=*py;

*py=t;

}

void swap3(int *px,int *py)

{

int *pt;

pt=px;

px=py;

py=pt;

}

运行结果:

运用指针进行角色互换

程序心得:

1、在C语言中实参与形参之间的数据转换是单向的“值传递”方式,调用函数是不能该百年实参变量的是的。当指针变量作为函数参数时也遵循这一规则。调用函数不能改变实参形参的指针变量的值,但是可以改变实参指针变量所指向的变量的值。

2、当指针变量作为函数参数时也遵循这一规则。调用函数不能改变实参形参的指针变量的值,但是可以改变实参指针变量所指向的变量的值。这样的机制叫做引用调用。

3、采用引用调用机制需要在函数定义时将指针作为函数的形参,在函数调用时把变量的地址作为实参。

程序参数:

输出大小: 149.720703125 KiB

编译时间: 0.30s

C语言指针互换的方法,C语言-运用指针进行角色互换相关推荐

  1. c语言调查问卷统计方法,C语言程序教学的问卷调查分析与教学改革.doc

    C语言程序教学的问卷调查分析与教学改革 摘要:C语言程序是学习和掌握计算机技术的基础课程,如何改革该课程教学,提高教学质量,一直是人们所关注与探讨的问题.本文从对学生的问卷调查结果的分析入手,总结.剖 ...

  2. c语言函数指针 的定义方法,C语言 函数指针一(函数指针的定义)

    //函数指针 #include #include #include //函数指针类型跟数组类型非常相似 //函数名就是函数的地址,函数的指针,对函数名进行&取地址操作,还是函数名本身,这是C语 ...

  3. linux安装mysql和使用c语言操作数据库的方法 c语言连接mysql

    http://www.jb51.net/article/46139.htm 1. MySQL的安装与配置: 在Ubuntu下安装MySQL方法很简单,使用如下命令: 复制代码 代码如下: sudo a ...

  4. c语言汇编混合编程方法,C语言和汇编语言混合编程方法

    摘要: C语言是一种高级的面向过程的开发语言,汇编语言是一种低级的面向机器的编程语言.两者在程序设计开发方面各有优劣,目前两者的混合编程得到了广泛的应用.本文通过具体的实例,说明了混合编程的基本方法, ...

  5. c 语言中逻辑运算符使用方法,C语言的逻辑运算符的使用

    逻辑运算符使用分析 &&和|| 1.程序中的短路 短路规则 ||从左向右开始计算当遇到为真的条件时停止计算整个表达式为真所有条件为假时表达式才为假. &&从左向右开始计 ...

  6. C语言超链接的使用方法,c语言课程第五讲超链接.ppt

    c语言课程第五讲超链接 ;第五讲 超级链接 1. 路径 2. 超链接的属性 3. 链接的种类 4. 图像地图超链接 ;什么是超链接:所谓的超链接是指从一个对象指向另一个对象的链接关系,源对象可以是文本 ...

  7. c语言效率最高排序方法,C语言综合实现所有排序方法及效率比较.doc

    C语言综合实现所有排序方法及效率比较 #include#include#include #include #define N 50000typedef char elemtype;typedef st ...

  8. go语言 第三方包安装方法_R语言3.6.3 安装程序下载及破解方法

    下载地址 百度网盘链接: https://pan.baidu.com/s/16smT3ceIjqaupn54AdgmgQ 提取码:7hap 解压密码:关注[菜瓜程序猿]微信公众号,回复[解压密码]获取 ...

  9. c语言 变参函数的使用方法,c语言变参函数的vsprintf与va_list的用法

    在调cgi的时候原本想写一个简单的log,但是入参始终不对,昨晚很丧气,今早起来再查看,发现了bug 之前是这么写的,arg得到的值却总是不对,然后才发现有vsprintf函数专门用来函数变参的: i ...

最新文章

  1. jquery 的3D Carousel插件参数说明
  2. linux下性能分析命令[总结]
  3. python随机抽号_随手小代码——Python 从集合中随机抽取元素
  4. Javascript模块化编程:AMD规范
  5. 训练作用_不同振幅的振动训练对身体的作用
  6. Android 使用图片铺满某个区域
  7. Unity3D TestTool Part _1
  8. 按钮配置之自定义按钮使用(一)——JEPLUS软件快速开发平台
  9. 安卓安装kali linux之Termux
  10. js判断url链接是否可访问(服务可连接,可用)
  11. php 安全基础 第八章 共享主机 安全模式
  12. Fiddler访问百度
  13. java字段映射替换框架一对多_java之mybatis之字段映射及多对一
  14. 使用腾讯位置服务 JavaScript API GL 打造自己的 3D 地图
  15. 安泰测试-安捷伦N5182A射频矢量信号发生器
  16. Quorum共识简析
  17. iif在mysql能用不_在写SQL语句时,你们会经常用IIF(ISNULL(字段))吗
  18. 谈一谈我心中的世界杯
  19. Hi3518ev200:RTSP传输流过程分析
  20. 广电总局:无证影视剧网上禁播 共享将被删

热门文章

  1. 树莓派 3B+ 控制移动机器人
  2. SIEVE: Secure In-Vehicle Automatic Speech Recognition Systems 论文报告
  3. 数论读书笔记——算数基本定理
  4. 第五部分 家庭创业奔小康5.低利率时代,家庭投资新渠道
  5. 一起学:以太坊智能合约开发
  6. 戴尔r730xd服务器从u盘启动设置方法(戴尔r730取消网络启动方法)
  7. Windows10自带微软输入法不显示选字栏
  8. 头歌平台数据结构与算法 线性表 第2关:实现一个连接存储的线性表
  9. 2019适合创业的项目有哪些呢
  10. 心形线c语言原理,C语言打印心形(示例代码)