为了账号安全,请及时绑定邮箱和手机立即绑定

如图所示,为什么它继续执行了?

如图所示,为什么它继续执行了?

慕尼黑5688855 2022-12-06 18:14:15
a=1,用IIf函数应该不会执行MsgBox这个步骤才对啊
查看完整描述

3 回答

?
森栏

TA贡献1810条经验 获得超5个赞

该语句会先执行两个表达式的值,执行到msgbox时就会显示出对话框了,跟a值判定没有关系。

查看完整回答
反对 回复 2022-12-10
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

对于IIF的计算,这样解释你会明白些.
X=IIF(A,B,C)
首先是正常理解,A=True时,X=B,A=False时,X=C
其次,你要明白,在IIF中,B和C如果是函数或计算公式时,是先计算结果的,
比如X=IIF(funA(A),funB(B),funC(C))
在IIF中的计算过程是先计算funB,funC的值,再用funA的结果去判断的.
这一点与if else不同.
所以,在你的代码中,不论a>0 =0 <=0,都会显示msgbox
如果要考虑到程序的性能,应该选择使用if,IIF只用作简单的数据选择.

查看完整回答
反对 回复 2022-12-10
?
达令说

TA贡献1821条经验 获得超6个赞

iff(表达式,表达式1,表达式2)
如果表达式成立则执行表达式1否则执行表达式2
iff(val(text1.text)>1,print"0",print"1")
x=iff((val(text1.text)>1,"0","1"))

查看完整回答
反对 回复 2022-12-10
  • 3 回答
  • 0 关注
  • 99 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信