问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言高手进 关于两个数互换的经典程序

发布网友 发布时间:2022-05-26 16:12

我来回答

5个回答

热心网友 时间:2023-10-26 20:00

不用指针时,swap(a,b)分别将a和b的值传递给形参变量x和y,其中实参a,b和形参x,y分别占用不同的内存单元,大数和小数的交换是在x,y之间发生的,交换之后x和y标识的内存单元就被释放掉了,因此a和b标识的内存单元当中分别还是原来的数。当用了指针时,swap(p,q)表示将内存单元a和b的地址作为实参,传递给形参变量x和y,此时x,y和p,q中存放的都是a和b的地址,也就是x和p指向变量a所标识的内存单元,y和q指向变量b所标识的内存单元,然后数据交换在*x,和*y之间进行,由于形参和实参都指向相同的单元,也就是直接交换内存单元a和b的值,所以最终可以达到按序输出地目的。

热心网友 时间:2023-10-26 20:00

void swap(int * x, int * y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}

这个可以这么理解,假如开始的时候有两个箱子(内存)A和B,A里面装的是狗狗,B里面装的是鸡鸡
传地址的时候是把两个箱子(内存)传给下一个操作员(函数),这个操作员把箱子里面的东西交换了(变成A里面装的是鸡鸡,B里面装的是狗狗),然后返回给上层的时候里面的东西肯定还是交换了的。
而传值就不一样了,传进来的不是箱子,而是狗狗,鸡鸡,而且函数中操作的还不是原来的狗狗,鸡鸡,而是一份拷贝的狗狗,鸡鸡。不论下一个操作员(函数)怎么交换,还是不能操作到具体的箱子(也就是内存),所以达不到交换的效果。

热心网友 时间:2023-10-26 20:01

无论是值传递还是指针传递,其实在函数入栈的过程中都会有一个临时变量来取代你传入的参数。
区别在于,由于值传递载入的是数据本身,那么这个临时变量只是传入数据的副本,副本无论如何变化都不会改变原有的参数值。而指针传递传入的是变量的地址,临时变量载入的也是这个变量的地址的副本。那么借助其副本,通过改变地址内容的方式是合理合法的。
如果你能再看看C++语言中的引用传递的话,那么理解会更深。

热心网友 时间:2023-10-26 20:01

b=(a+b)-(a=b);

热心网友 时间:2023-10-26 20:02

就是这么说吧 值传递的话 就好比复印吧 那你把复印出来的东西怎么弄 原本没有任何影响吧 指针的话 它是直接用原本来操作 所以你把它撕了就是撕了 不知道你能明白不
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
步步高学习机@iboxH2 H2学习机的屏幕大小? 6-7万左右纯电 女生想买台便宜的小车在城市代步,有什么好推荐?电动车最好? 河南德盛智能环保科技有限公司怎么样? 深圳市德盛铭电科技有限公司怎么样? pvc防水门生产厂家哪个好呢? 晋江市德顺陶瓷建材有限公司简介 酒店家具厂家 梨子酿酒最简单的方法 oppo R11的相册图集可以不同步到照片里吗? 用C语言编写程序实现两个整数交换值 换还能找回之前被删的好友吗? 民办幼儿园转公办幼儿园好不好 C语言程序;交换数值的,求改 高铁杭州到宁波停几个站 孩子上私立幼儿园转到公立幼儿园怎么样 oppor11在相册新建的图集,打开微信发消息的时候在图片里 不显示新建的图集名称 oppor11的相册重命名在哪里? oppoa11相册不能看 OPPO A11x在哪里查看回忆相册? oppoa11x相册怎怎查看otg中的图片? 幼儿园私立转公立了 是留下来好还是走好? 聊城民办幼儿园什么时候转公立 我开通微众银行,零钱没上限了 长沙至厦门高铁经过哪些站 itunes传到手机的视频不能编辑 芷江至长沙高铁经过哪些站点 三门峡私立幼儿园何时能转成公立 民办幼儿园转公办,要将原来的注销重新注册吗? C语言 编写程序,从键盘上输入两个不同的整数,让两个整数实现数据交换。怎么解答 求大神 如何用c语言实现十进制数与八进制数的互换? C语言基础题。问: 编写程序实现两个变量数值交换。 今年普洛药业走势会如何?普洛药业股吧东方财富分析?普洛药业股票最新排名? 普洛药业为什么会大跌?普洛药业年度财务报表?像普洛药业一样的好股票还有哪些? 普洛药业的季报?普洛药业最新新闻?普洛药业牛叉评估? 普洛药业为什么这么好?普洛药业2021第一季业绩?普洛药业股票新浪财经? 普洛药业今天为什么跌?普洛药业股票2021年年报?普洛药业算是行业龙头吗? EXCEL怎么实现显示公式和结果 为什么男的出轨被老婆知道了,都闹开了还是不愿意和老婆离婚呢?而且也不愿意和小三分开? 男人出轨,不离婚也不跟小三断,怎么办 《至高利益》epub下载在线阅读,求百度网盘云资源 程煜演的电视剧 好像是乡长 后来被村民杀害 最后好像死了 计夫顺这个人物是那部电视剧 在某部电视剧中有一个人物叫 赵达功,请告知该剧的剧名 男人可以吃阿胶补身体吗 男生可以吃阿胶吗? 中国新民主主义革命对象不包括 中国新民主主义革命的对象有哪些 四川省属事业单位面试