X= A or B or C
X= “A” or “B” or “C”
这两个一样吗?
" IF y2.Value=1 then A or B" 这个代码为什么可以没有 end if ?这段代码是什么意思呢?
首先or是位运算符
1 or 1 = 0
1 or 0 = 1
0 or 1 = 1
A B C 三个变量在使用前需要声明为布尔类型 即只有 True 和False两种值 否则出错
X= A or B or C 和 X= “A” or “B” or “C”完全不同 且后者无法运行 因为被引号引起来的内容会被认为是字符串 而or需要的是1和0或True 和False 所以会出现类型不匹配的错误
(好久不玩VB了 貌似VB支持隐式转换?后者可能会被VB转换成ASCII形式的二进制串 然后被运行 LZ可以试试看 )
---------------------------------------------------------------------------------------------------------------
IF y2.Value=1 then A or B 如果把if语句写成一行 就不用end if
当然也可以把它写成多行 如
if y2.Value = 1 then
A or B
End if
单行if和多行if的区别就是前者的then后面只能跟一个语句 而后者的then后边可以跟多个语句 最后用end if 标记结尾
1 or 1 = 0
1 or 0 = 1
0 or 1 = 1
A B C 三个变量在使用前需要声明为布尔类型 即只有 True 和False两种值 否则出错
X= A or B or C 和 X= “A” or “B” or “C”完全不同 且后者无法运行 因为被引号引起来的内容会被认为是字符串 而or需要的是1和0或True 和False 所以会出现类型不匹配的错误
(好久不玩VB了 貌似VB支持隐式转换?后者可能会被VB转换成ASCII形式的二进制串 然后被运行 LZ可以试试看 )
---------------------------------------------------------------------------------------------------------------
IF y2.Value=1 then A or B 如果把if语句写成一行 就不用end if
当然也可以把它写成多行 如
if y2.Value = 1 then
A or B
End if
单行if和多行if的区别就是前者的then后面只能跟一个语句 而后者的then后边可以跟多个语句 最后用end if 标记结尾
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-11-15
如果A、B、C是布尔值,则最后得到or结果的布尔值。
如果A、B、C是数值,A or B or C是按位或,然后把结果放入X
X= “A” or “B” or “C”是不存在的。
去学点基本知道吧,不要什么都不会。
如果A、B、C是数值,A or B or C是按位或,然后把结果放入X
X= “A” or “B” or “C”是不存在的。
去学点基本知道吧,不要什么都不会。
第2个回答 2012-11-15
X= A or B or C和X= “A” or “B” or “C”不一样。
前者A B C被当做十六进制处理,后者被当做字符处理。
但if语句为单条语句时,不需要end if
前者A B C被当做十六进制处理,后者被当做字符处理。
但if语句为单条语句时,不需要end if
第3个回答 2012-11-15
A or B or C应当是逻辑“与”运算。"A" or "B" or "C" 应当会出错。
IF 语句如果 Then 后面带了语句,则是单行的语法,不需要 End If 标识区块。格式是:
IF <条件> Then <条件真时的语句> Else <条件假时的语句>
第4个回答 2012-11-15
不一样。x=a or b or c 中的ABC是变量。后边的是字符