VB中将两个变量中的数进行交换能不能不借助第三个变量

来源:百度知道 编辑:UC知道 时间:2024/06/05 04:35:42
例如:已知两个变量x和y,比较它们的大小,使得x中的值大于y。 语句可以这样写:
If x<y Then t=x : x=y : y=t
如果将上面语句写出:If x<y Then x=y : y=x 执行后效果如何?
请给个详细点的回答,3ku!

If x<y
Then
1: t=x :
2: x=y :
3: y=t

If x<y
Then
4: x=y :
5: y=x

举个例子:x=1,y=2
前者结果是
执行到1时:t=1,x=1,y=2
执行到2时:t=1,x=2,y=2
执行到3时:t=1,x=2,y=1

后者结果是
执行到4时:x=2,y=2
执行到5时:x=2,y=2

结果是x y都是最初y的值
vb代码是有先后顺序的,x=y一旦执行,x y都是最初y的值了

执行效果请看下例??x=3
y=5
x=y //此时变成x=5
y=x //此时变成y=5
所以后果你看到了…x和y并没交换…而是两个都变成5了????所以交换两个变量必须要增加一个临时变量

那个LZ把你写的式子的含义知道就不会犯这种错误了
你写的式子正确的读法应为 如果X<Y 那么 将Y赋值给X变量 将X变量赋值给Y
所以 X,Y都是Y变量的值..........