主题:自学,看不明
newonesky
[专家分:0] 发布于 2005-06-17 20:30:00
5)两个变量交换值
a=b
c=a
a=b c为中间结果为?/font>
b=c
什么意思?
回复列表 (共15个回复)
沙发
moz [专家分:37620] 发布于 2005-06-17 21:59:00
按这样的顺序和运行的结果
相当于
a=b
c=b
三个值全变成了b的值了.
板凳
QB71 [专家分:1300] 发布于 2005-06-18 14:31:00
如果是数值直接用 swap a,b
其他:
tmp=a
a=b
b=tmp
3 楼
cleverboy [专家分:80] 发布于 2005-06-18 20:13:00
就是交换值
4 楼
prairiewolf [专家分:290] 发布于 2005-06-23 02:12:00
10 a=b
20 c=a
30 a=b
40 b=c
就是,新变量c等于10句中的a,b等于20句中的c.在40中, b又等于30中的a,a又等于b,所以b还是等于b
5 楼
prairiewolf [专家分:290] 发布于 2005-06-23 02:30:00
看不懂也没关系,看程序看久了自然就明白了
6 楼
staa [专家分:3690] 发布于 2005-06-23 08:47:00
第三行是多余的,而且整个程序达不到交换变量值的目的
2楼QB71给出的两种方法都是正解
7 楼
akgod [专家分:0] 发布于 2005-06-23 18:09:00
各位大哥你们好
C为中间值
为何不这样做
C=(A+B)/2
如有错误请指教
小弟我谢谢了
8 楼
飞鸟12 [专家分:2830] 发布于 2005-06-24 08:37:00
下面的交换值的方法 也有点意思
a = 10: b = 6
a = a + b: b = a - b: a = a - b
PRINT a, b
9 楼
staa [专家分:3690] 发布于 2005-06-24 09:25:00
呵呵,8楼的算法真是太巧妙了,节省了一个变量。
10 楼
moz [专家分:37620] 发布于 2005-06-24 10:46:00
狂倒
看样子,得向盖先生提提意见,可以把swap省略掉了,QB可以更精简了.
我来回复