猿问

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

a=1,用IIf函数应该不会执行MsgBox这个步骤才对啊




慕尼黑5688855
浏览 100回答 3
3回答

森栏

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

汪汪一只猫

对于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只用作简单的数据选择.

达令说

iff(表达式,表达式1,表达式2)如果表达式成立则执行表达式1否则执行表达式2iff(val(text1.text)>1,print"0",print"1")x=iff((val(text1.text)>1,"0","1"))
随时随地看视频慕课网APP
我要回答