算法新手:交换两个变量A和B的值.
INPUT A,B
PRINT A,B
A=B,B=A
PRINT A,B
END
这是错的吗?为什么?
课本上的是:
INPUR A,B
PRINT A,B
x=A
A=B
B=x
PRINT A,B
END
算法新手:交换两个变量A和B的值.
答案:1 悬赏:50 手机版
解决时间 2021-08-21 09:36
- 提问者网友:星軌
- 2021-08-20 23:54
最佳答案
- 五星知识达人网友:蓝房子
- 2021-08-21 01:05
当然是错的.你可以运行下试试.假设A=1,B=2运行完A=B后A=2,B=2,然后运行B=A后B=2,A和B都是2,没有完成交换.而x的作用是做辅助空间存储下A的值,避免被B的值覆盖.这种变量交换法也就是所谓的三变量法
也有只用两个变量完成交换的方法
1
A=A+B
B=A-B
A=A-B
2
A=A xor B
B=A xor B
A=A xor B
再问: 如果把x=A,A=B,B=x写在同一行可以吗?
三行代码变成了一行,但计算机还是要执行三个步骤。
这样解释对不对?谢谢
再答: 可以呀。执行结果和速度基本不会受到影响。用合适的分隔符分开就行了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯