我是这么理解的,因为你没有给出a、B、c、d的数据类型,所以光凭a=97,B=66,c=99,d=100不好判断x=IIF((a>B) and (c
1、如果四个变量均为数值型变量,则如你所说,应该会返回x=10。
2、如果四个变量均为字符串型变量,则a>B返回True,但c
Dim x, a, b, c, d As Long
a = 97
b = 66
c = 99
d = 100
x = IIf((a > b) And (c < d), 10, 20)
MsgBox x
运行结果:10
MsgBox a > B
MsgBox IIf((a > B), 10, 20)
MsgBox IIf((a > B) And (c < d), 10, 20)
运行一下这个就知道了
Private Sub Form_Load()
a = 97
B = 66
c = 99
d = 100
x = IIf((a > B) And (c < d), 10, 20)
MsgBox x
End Sub
何来20,你看的书印错的吧?
这个嘛。。a,b,c的类型没有指定所以iff不好判断,只好给你返回假
首先不知道你在前面是否声明了变量a、 B、 c 、d的类型,如果没有声明的话,系统会自动默认为变体型(Variant),若变量没有赋初值,则系统默认的值都是一样的,那么它们之间的大于或小于关系都不成立,值为False, 两个False相And,结果还是False,函数自然是20啦。