在窗体中画一个命令按扭 然后编写以下事件过程: Private Sub Command1_Click() For i=1 to 4 x=4
已帮助 人
在窗体中画一个命令按扭,然后编写以下事件过程: Private Sub Command1_Click() For i=1 to 4 x=4 For j=1 to 3 x=3 For k=1 to 2 k=k+6 Next k Next j Next i Print x End Sub 程序执行结果为________。
A.157
B.158
C.3
D.15

回答
共1条回复-
3【解析】本题考查VBA程序的知识。在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用ByRef声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。此题中形参P被说明为ByVal传值形式的整型量,当运行Cornl-click过程时调用s函数,实参i传送其值给形参P,P发生变化p=p*2=3*2=6。但因为使用的是ByVal传值传递,所以实参i的值不发生变化,if语句中的判断条件为假,所以会直接执行MsgBox i语句后输出3。
