假设有两个整型变量X和Y,在不引入其他变量的条件下能否将X和Y的值互换?

假设有两个整型变量X和Y,在不引入其他变量的条件下能否将X和Y的值互换?(课本上的变量互换算法一般是:Z=X;X=Y;Y=Z.)某同学给出了一个新算法:X=X+Y;Y=X... 假设有两个整型变量X和Y,在不引入其他变量的条件下能否将X和Y的值互换? (课本上的变量互换算法一般是: Z=X; X=Y; Y=Z.) 某同学给出了一个新算法: X=X+Y; Y=X-Y; X=X-Y 该同学的答案是否正确,为什么? 希望各位大侠赐教,谢谢啦!! 展开
 我来答
余思解熙星
2020-06-26 · TA获得超过3643个赞
知道小有建树答主
回答量:3108
采纳率:25%
帮助的人:201万
展开全部
当然可以不用引入其他变量就能将X和Y的值互换了!这样可以节省内存!
你同学的算法是完全正确的!
首先假设X=1;Y=2,为了将结果变成Y=1;X=2.首先将X+Y赋值给X,这时等价于X=X+Y=1+2=3,所以Y=X-Y=3-2=1,这时就完成了将X的值赋给Y;接着将X-Y的值赋给X,这时X=X-Y=3-1=2,这不就完成了将Y的值赋给X?
你主要是要搞清楚X和Y通过表达式(X=X+Y;Y=X-Y)赋值后,它们的值的变化就可以了!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式