VB问题,计算问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 09:09:22
在窗体中添加一个命令按扭,代码如下:
private sub command_click()
a=0:b=5:c=6
msgbox a=b+c
end sub
问,单击按扭出来什么
答案选:FALSE,为什么不是11?什么样的情况才会是11?

对.

msgbox 为函数,返回值为 所点击按钮值,框中显示值为后面的第一个 字符型 参数值, 变量 或 表达式 的值,相当于在消息框中用 print 显示.

上面程序中, a=b+c 不是单独语句,被引用在函数(当作子参数)中,使赋值成为表达式,显示为逻辑真假.

a=0,b+c=15 所以显示该表达式值 false.

想要"原样"输出运算符 = 号,就得用 "" 括起来.否则,会被当作判断了. 只为计算,不用再写出等号,
如,
print 3*4
MsgBox "a=" & b + c

其中,等号为字符型元素,原样输出,后面加号则为表达式中的运算符,该表达式要计算出值后才输出.

private sub command_click()
a=0:b=5:c=6
msgbox a=b+c
end sub

因为 a 等于0
而 b+c 是等于11
所以你的a=b+c左边与右边不相等,则会显示False
如果你的 a=11:b=5:c=6 ,过程结果就会显示True

只要去掉前面的“a=”改为msgbox b+c就会是11

MSGBOX a=b+c 就是 a=b+c当做一个整体变量 所以成为了个判断式
就像 if a=b+c then 这里的a=b+c也是被当做了一个整体变量..所以成了一个判断式

你想要结果是11应该这样

a=b+c
msgbox a

恩,false是一个判断,如果将a=0改为a=11,那么msgbox的结果就是true.
如果你想出先11,那就可以
private sub command_click()
a=0:b=5:c=6
msgbox b+c
end sub

两个变量用等于号表示那个就是判断它的逻辑值了。。
那个print也一样。。。。。。。。。。。。