在窗体中添加一个名为Command1的命令按钮,然后编写如下程序: Private Sub s(By Val p As Integer) p=p*2 End Sub Prirate Sub Command1_Click( ) Dim i As Intege

admin2010-06-10  39

问题 在窗体中添加一个名为Command1的命令按钮,然后编写如下程序:
Private Sub s(By Val p As Integer)
p=p*2
End Sub
Prirate Sub Command1_Click( )
Dim i As Integer
i=3
Call s(i)
If i>4 Then i=i^2
MsgBox I
End Sub
窗体打开运行后,单击命令按钮,则消息框的输出结果为______。

选项

答案3

解析  由于VBA中,传值调用(Byval选项)为“单向”作用形式即过程调用只是相应位置实参的值“单向”传送给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化均不会反馈、影响实参的值。此题中:形参p被说明为ByRef唯值形式的整型量,当运行Command1_Click( )过程,并调用s( )函数,实参i传送其值给形参p,p发生变化P=p*2=3*2=6。但因为使用的是DyVal“单向”传值形式,实参i的值不会发生变化,仍然为3。i>4条件不成立,不会执行“i=i^2”语句,所以最后i的值为3。
转载请注明原文地址:https://kaotiyun.com/show/isup777K
0

最新回复(0)