用指针和函数的方法完成两个数的交换
《程序设计基础实训指导教程-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.普通方法,借助一个额外内存变量实现交换: #include <iostream> using namespace std; ...
- 指针,指针:分装一个函数,实现两个数的交换。 指向固定的区域
1.指针的引入 //第9行,取值运算符*,他把后面跟的内存地址中的数据"取出来": 2.指针变量的引入 什么是指针变量:存放地址的变量 什么是指针变量:存放指针的变量 指针 = 地 ...
- (指针详解1)例:用函数编写两个数的交换
前言: 我们在初学c语言时都会遇到的一个题目,那就是交换两个数字的大小,我们需要定义两个变量保存两个值,再定义一个temp进行中间值保存 int temp=0: int a=10: int b= ...
- 创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3。 要求:在max3这个函数中,调用max2函数,来实现3个数的最大值计算
//创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3.//要求:在max3这个函数中,调用max2函数,来实现3个数的最大值计算public static int max3 ...
- c++ std 方法 取两个数的较大_【数据结构C++】两数交换(4种方法)
一.语言:C++ 二.内容:通过函数调用实现两个数的交换 三.方法: 正常函数交换 引用类型的函数交换 指针类型的函数交换 宏函数定义交换(不常见) #include <iostream> ...
- 编写一个函数,实现计算两个数大小的比较,且返回最大值。
例子:编写一个函数,实现计算两个数大小的比较,且返回最大值. 解释:当$a大于$b,返回最大值$a,当$b大于$b,返回最大值$b,否则输出null 实现效果: ...
- 【c语言】输入两个数,交换这两个数后,再输出
<程序设计基础实训指导教程-c语言>杨莉 龚义建 科学出版社 ISBN 978-7-03-032846-5 p9 2.1.2 上机实训内容 [实训内容3] 编程实现:输入两个数,交换这两个 ...
- 【C/C++】异或操作巧妙实现两个数的交换操作
今天在看OpenGL加载TGA格式图像用作纹理的代码时,看到关于RGB(A)顺序转换的一行代码时,捉一开始感到很困惑,后来想了想,就是实现交换操作. 原始代码: texture->imageDa ...
- 实现两个数的交换(异或,加减)
1. 通常我们通过设置临时变量来实现两个数的交换,如下: void swap(int *a,int *b){int temp;temp=*a;*a=*b;*b=temp;} 2.还可以通过异或来实现两 ...
最新文章
- 前端分页页码静态部分制作
- word取消“在页面视图中显示页面间空白”后,关闭打开又自动勾上
- 利用反射机制获取未知类型的枚举的信息
- android 蒙版图片带拖动_Android实现蒙版弹出框效果
- MyEclipse JAVA提示信息配置
- 【渝粤题库】广东开放大学 秘书理论与实务 形成性考核
- 使用Docker快速搭建Tensorflow开发环境
- php json to object,PHP JSON_FORCE_OBJECT函数实现强转对象
- python 运行时间 装饰器_python 装饰器统计某个函数的运行时间
- python序列切片
- 安卓应用安全指南 六、困难问题
- 洛谷 P4392 Sound 静音问题
- 本地编译tomcat的docker镜像
- 无法访问 请与这台计算机,我们办公室两台电脑想连接一个共享的打印机,但是连接的时候,总是显示无法访问,请与这台计算机的管理员联系,应该怎么设置啊...
- 超简单!使用jQuery实现登录页面的“记住密码”功能
- Ubuntu系统截图方法
- python pip 换源_Python pip换源教程
- Appium 测试APK
- Rod-cutting(动态规划)
- 成功解决 KeyError: Unable to open object (object x doesnt exist)和no file found ./SGN/asd.phl
热门文章
- matplotlib色彩填充之fill、fill_between
- matplotlib库之patch
- 第一课时之HTML简介
- android 自动打开第三方应用程序,Android如何做到应用程序图标隐藏,由第三方程序显示启动...
- cv2.VideoCapture().set(propId, value)设置摄像头图片大小的用法
- 三十四、段页式管理方式
- 【多标签文本分类】Initializing neural networks for hierarchical multi-label text classification
- 过拟合的原因以及解决办法(深度学习)
- mysql''和null,mysql中NULL和null的区别
- php json.parse,PHP JSON头导致JSON.parse出错(使用jQuery)