热情软件屋

 

如何在程序中书写逻辑非运算的表达式


编号: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。

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio