c语言答疑 交换两个整型变量 a=a+b b=a—b a=a—b 我没有看出来哪里有交换?

 我来答
业余棋迷80后
2020-11-04 · TA获得超过7250个赞
知道小有建树答主
回答量:1385
采纳率:71%
帮助的人:128万
展开全部
第一句把a+b赋予a,也就是a这个单元里的数现在变成了初始的a+b,然后第二句把a单元里的数减去b,再赋予b,a单元经过第一步以后是初始的a+b了,再减去b就剩下了初始的a,再赋予b,那么现在b单元里是初始的a,而a单元还是初始的a+b。第三句是把a单元的数减去b单元的数再赋予a,前面说过了,a单元现在是初始的a+b,b单元是初始的a,这样一减就剩下初始的b,再赋予a,这样a单元里就变成了初始的b,也就是完成了ab两个单元数字的交换。
shine1991
科技发烧友

2020-11-04 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部
a=a+b;//自此现a值为原ab的和

b=a-b;//原ab的和-原b,即现b=原a
a=a-b;///原ab的和-原a,即现a=原b
这样就实现了ab值的互换,当然前提是a+b没有溢出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2020-11-06
展开全部
举个列子
先给a,b赋值
a=3,b=1
a=a+b=3+1=4 (#a从3变成了4,b依然是1)
b=a-b=4-1=3 (#这里带入的a是变化后的a,减的b是原来的1,最后b从1变成了3)
a=a-b=4-3=1 (这里的a-b均是变化后的a,b)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一个疯子4444
2020-11-04 · TA获得超过324个赞
知道小有建树答主
回答量:619
采纳率:62%
帮助的人:169万
展开全部

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式