如何在程序中书写逻辑非运算的表达式
编号:QA004557
建立日期: 2002年3月2日 最后修改日期:2002年3月2日
所属类别:
lihong:
操作系统: win98
编程工具: vb5
问题: 为什么在VB的程序代码中不能写:
“c = a not b”这样的语句,而在它的“立即窗口”却可以进行逻辑非运算和NOT的位运算?
我曾经试图在程序中写:
“If a not b then”的语句,但总是被VB的编辑器更改为:
“If not a then”
于是,我写:
“c = a not b”
VB的编辑器马上又把它截断,改为
“c = not a”
但是,当我把同样的语句写在VB的“立即窗口”时,那些语句不但可以运行,而且计算结果正确。
如果VB不容许 “C = A NOT B”这样的表达式,而非要用 “C = NOT A ”这样的语句,那么,如何在程序中书写逻辑非运算的表达式?
回答:
我想你对逻辑非的理解可能有错误,因为VB把Not作为一元操作符,而不是象And那样的二元操作符。“c = a not b”这样的语句确实可以在“立即窗口”计算,但这只能说是一个BUG。事实上,在“立即窗口”计算得到的结果和b无关,只是not a,这和编辑器修改的结果是一致的。我不知道你说的“计算结果正确”是什么意思。你可以使用下面这些形式:
c= not a
c= a and (not b)
c = a or (not b)
就是不能使用c = a not b。
此问题由李海回答。
| |
|
|
| |
|
|