注册 登录
编程论坛 VB6论坛

这样的算法不对么/

淡漠 发布于 2013-03-14 23:29, 557 次点击
有如下程序
a=1:b=2:c=3
a=a+b:b=b+c:c=a+b
if a <>3 or b<>3 then
a=b-a:b=c-a:c=a+b
end if
print a+b+c
<>代表菱形框
答案是16
但我认为不是if的判断为ture么?
答案应该为10
到底我是那弄错了?我也不懂?
8 回复
#2
wp2319572013-03-14 23:31
<>代表菱形框
是啥意思呢
#3
azzbcc2013-03-14 23:39
有什么不对么? 2 + 6 + 8 = 16
#4
azzbcc2013-03-14 23:40
回复 2楼 wp231957
VB里面介个是 不等于的意思
#5
wp2319572013-03-14 23:41
不等于我晓得
菱形块我就不晓得
#6
azzbcc2013-03-14 23:45
呵呵,估计就是 不等于 了,菱形块我也没听说过
#7
SKYYYF2013-03-15 10:26
a = 1: b = 2: c = 3   
a = a + b: b = b + c: c = a + b    'a=3,b=5,c=8
If a <> 3 Or b <> 3 Then           'a<>3 =>false,  b<>3=> true  ,表达式为true,进入选择语句,其中<>是关系运算符而不是的菱形
a = b - a: b = c - a: c = a + b    'a=2,b=6,c=8
End If
Print a + b + c                    '相加得 16
#8
淡漠2013-03-15 11:17
回复 3楼 azzbcc
如果是不等于
那么a=3,b=5,c=a+b=8
则为16
#9
淡漠2013-03-15 11:19
回复 4楼 azzbcc
谢谢!赐教!
1