在窗体中有一个名为“Command1”的按钮,该模块内还有一个函数过程: Public Function f(x As Integer)As Integer Dim y As Integer x=30 y=3 f=x*y End Function Priv

admin2019-02-19  1.2K+

问题 在窗体中有一个名为“Command1”的按钮,该模块内还有一个函数过程:
Public Function f(x As Integer)As Integer
Dim y As Integer
x=30
y=3
f=x*y
End Function
Private Sub Command1_Click()
Dim y As Integer
Static x As Integer
x=10
y=5
y=f(x)
Debug.Print x;y
End Sub
打开窗体运行后,如果单击按钮,则在立即窗口上显示的内容是

选项 A、105
B、1090
C、305
D、3090

答案D

解析 本题主要考查局部变量的使用和函数调用过程中的参数传递。参数传递的方式有传值和传址两种形式,其中默认的方式是传址。本题中cIick事件和函数f都有变量y,但都是各自的局部变量,只是同名而已。同样Click事件和函数f中的x也是局部变量(形式参数也属于局部变量),但此处的参数传递是传址,因此函数f对变量×的修改会带回到Click事件。在Click事件中,调用函数f的同时将参数x以传址的方式传给了函数f。在函数f中x被重新赋值为30,并与函数f的局部变量y相乘得结果90,并通过函数f传回了Click事件。在Click事件中该结果被赋值给该事件的局部变量y,所以调用的结果是Click事件中的局部变量x和y分别变成了30和90,所以正确答案为选项D。
转载请注明原文地址:https://jikaoti.com/ti/A6o0FFFM
0

相关试题推荐
最新回复(0)