《程序设计基础实训指导教程-c语言》
ISBN 978-7-03-032846-5
p142
7.1.2 上级实训内容

【实训内容6】用指针和函数的方法完成两个数的交换

传递规则:主函数  |   子函数
-----------------------
(1)普通变量-->普通变量
-----------------------
(2)普通变量-->指针变量
-----------------------
(3)指针变量-->指针变量

传递规则

  • (1)普通变量-->普通变量
  • (2)普通变量-->指针变量
  • (3)指针变量-->指针变量

(1)普通变量–>普通变量

//(1)普通变量-->普通变量
//交换形参的值不会影响实参
#include<stdio.h>
void swap(float,float);
int main()
{float a,b;char choose;do{printf("输入两个数,以空格隔开:");scanf("%f%f",&a,&b);getchar();swap(a,b);printf("输入a,b的值:%.2f %.2f\n",a,b);printf("\n继续[y/n]?");scanf("%c",&choose);} while (choose=='y'||choose=='Y');printf("程序结束!\n");return 0;
}
void swap(float x,float y)
{float temp;    //只是x,y的值发生了交换temp=x;x=y;y=temp;
}

(2)普通变量–>指针变量

//(2)普通变量-->指针变量
#include<stdio.h>
void swap(float *,float *);
int main()
{float a,b;char choose;do{printf("输入两个数,以空格隔开:");scanf("%f%f",&a,&b);getchar();swap(&a,&b);   //把a,b的地址传给swap函数的形参指针*x,*yprintf("输入a,b的值:%.2f %.2f\n",a,b);printf("\n继续[y/n]?");scanf("%c",&choose);} while (choose=='y'||choose=='Y');printf("程序结束!\n");return 0;
}
void swap(float *x,float *y)
{float temp;    //交换a,b的地址temp=*x;*x=*y;*y=temp;
}

(3)指针变量–>指针变量

//(3)指针变量-->指针变量
#include<stdio.h>
void swap(float *,float *);
int main()
{float a,b,*pa,*pb;pa=&a;pb=&b;char choose;do{printf("输入两个数,以空格隔开:");scanf("%f%f",pa,pb);getchar();swap(pa,pb);printf("输出a,b的值:%.2f %.2f\n",a,b);printf("输出*pa,*pb的值:%.2f %.2f\n",*pa,*pb);printf("\n继续[y/n]?");scanf("%c",&choose);} while (choose=='y'||choose=='Y');printf("程序结束!\n");return 0;
}
void swap(float *x,float *y)
{float temp;temp=*x;*x=*y;*y=temp;
}

用指针和函数的方法完成两个数的交换相关推荐

  1. 一道面试题:用多种方法实现两个数的交换

    很多程序经常使用的最普通,比较常见的,也是比较简单的一个算法 1.普通方法,借助一个额外内存变量实现交换: #include <iostream> using namespace std; ...

  2. 指针,指针:分装一个函数,实现两个数的交换。 指向固定的区域

    1.指针的引入 //第9行,取值运算符*,他把后面跟的内存地址中的数据"取出来": 2.指针变量的引入 什么是指针变量:存放地址的变量 什么是指针变量:存放指针的变量 指针 = 地 ...

  3. (指针详解1)例:用函数编写两个数的交换

    ​​​前言: 我们在初学c语言时都会遇到的一个题目,那就是交换两个数字的大小,我们需要定义两个变量保存两个值,再定义一个temp进行中间值保存 int temp=0: int a=10: int b= ...

  4. 创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3。​ 要求:在max3这个函数中,调用max2函数,来实现3个数的最大值计算

    //创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3.//要求:在max3这个函数中,调用max2函数,来实现3个数的最大值计算public static int max3 ...

  5. c++ std 方法 取两个数的较大_【数据结构C++】两数交换(4种方法)

    一.语言:C++ 二.内容:通过函数调用实现两个数的交换 三.方法: 正常函数交换 引用类型的函数交换 指针类型的函数交换 宏函数定义交换(不常见) #include <iostream> ...

  6. 编写一个函数,实现计算两个数大小的比较,且返回最大值。

    例子:编写一个函数,实现计算两个数大小的比较,且返回最大值. 解释:当$a大于$b,返回最大值$a,当$b大于$b,返回最大值$b,否则输出null            实现效果:          ...

  7. 【c语言】输入两个数,交换这两个数后,再输出

    <程序设计基础实训指导教程-c语言>杨莉 龚义建 科学出版社 ISBN 978-7-03-032846-5 p9 2.1.2 上机实训内容 [实训内容3] 编程实现:输入两个数,交换这两个 ...

  8. 【C/C++】异或操作巧妙实现两个数的交换操作

    今天在看OpenGL加载TGA格式图像用作纹理的代码时,看到关于RGB(A)顺序转换的一行代码时,捉一开始感到很困惑,后来想了想,就是实现交换操作. 原始代码: texture->imageDa ...

  9. 实现两个数的交换(异或,加减)

    1. 通常我们通过设置临时变量来实现两个数的交换,如下: void swap(int *a,int *b){int temp;temp=*a;*a=*b;*b=temp;} 2.还可以通过异或来实现两 ...

最新文章

  1. 前端分页页码静态部分制作
  2. word取消“在页面视图中显示页面间空白”后,关闭打开又自动勾上
  3. 利用反射机制获取未知类型的枚举的信息
  4. android 蒙版图片带拖动_Android实现蒙版弹出框效果
  5. MyEclipse JAVA提示信息配置
  6. 【渝粤题库】广东开放大学 秘书理论与实务 形成性考核
  7. 使用Docker快速搭建Tensorflow开发环境
  8. php json to object,PHP JSON_FORCE_OBJECT函数实现强转对象
  9. python 运行时间 装饰器_python 装饰器统计某个函数的运行时间
  10. python序列切片
  11. 安卓应用安全指南 六、困难问题
  12. 洛谷 P4392 Sound 静音问题
  13. 本地编译tomcat的docker镜像
  14. 无法访问 请与这台计算机,我们办公室两台电脑想连接一个共享的打印机,但是连接的时候,总是显示无法访问,请与这台计算机的管理员联系,应该怎么设置啊...
  15. 超简单!使用jQuery实现登录页面的“记住密码”功能
  16. Ubuntu系统截图方法
  17. python pip 换源_Python pip换源教程
  18. Appium 测试APK
  19. Rod-cutting(动态规划)
  20. 成功解决 KeyError: Unable to open object (object x doesnt exist)和no file found ./SGN/asd.phl

热门文章

  1. matplotlib色彩填充之fill、fill_between
  2. matplotlib库之patch
  3. 第一课时之HTML简介
  4. android 自动打开第三方应用程序,Android如何做到应用程序图标隐藏,由第三方程序显示启动...
  5. cv2.VideoCapture().set(propId, value)设置摄像头图片大小的用法
  6. 三十四、段页式管理方式
  7. 【多标签文本分类】Initializing neural networks for hierarchical multi-label text classification
  8. 过拟合的原因以及解决办法(深度学习)
  9. mysql''和null,mysql中NULL和null的区别
  10. php json.parse,PHP JSON头导致JSON.parse出错(使用jQuery)