VB的赋值转换问题!

来源:百度知道 编辑:UC知道 时间:2024/05/13 09:14:43
我看到VB有一题: a被初始赋值5,b被初始赋值3,即a=5,b=3
用下面的 一段代码将a,b值互换:
dim a%,b%
print "a="&a, "b="%b
print "转换"
a=a+b '1
b=a-b '2
a=a-b '3
print "a="&a, "b="%b
问题就在1,2,3 这三句,我无法理解,如果加入变量t,可以是 t=a,a=b,b=t.
但是这个没有引入第三变量,请各位分析一下~!! 越详细越好!!

a=a+b '1 (这个把a+b的值赋给a)
b=a-b '2 (这里相当于b=(a+b)-b,就是把上面的a代入第二个式子,即b=a)
a=a-b '3 (这里相当于把第二个式子的b代入这个式子中,即a=a-(a-b),既是
a=b)
通过这三个式子,就可以将a,b的值互换了.

其实可以通过第3个变量来辅助讨论,
第一句a=a+b运算后的a就不是原来的a了,假如把此时的a用变量t来表示就是t=a+b,
第二句b=a-b相当于b=t-b=a+b-b=a,其实这句就是b=a,这个时候的b就不是原来的b了,而是原来的a
第三句a=a-b中后一个a就是前面的t,而此时的b已经是原来的a了,表达式就应该是a=t-a=a+b-a=b,其实这句就是a=b.