窗体中有一个名为Commandl的按钮,该模块内还有一个函数过程:
Public Function f(X As Integer)As Integer
Dim y As Integer
X=30
y=3
f=x*y
End Function
Private Sub Commandl Click()
Dim Y As Integer
Static X As Integer
x=10
y=5
y=f(x)
Debug.Print X;Y
End Sub
打开窗体运行后,如果单击按钮,则在立即窗口上显示的内容是( )。
【正确答案】 D
【答案解析】本题考查的是参数传递和静态变量。由Dim定义的变量通常称为动态变量,其值会被重新赋值,由Static定义的变量称为静态变量,每次引用该变量时其值会继续保留。在commandl一click()事件中,定义y是动态变量,定义x为静态变量,然后进行赋值,x被赋值10,y被赋值5,然后执行y=f(x)语句,此时x的值是10,调用f函数,即f(10)。在f()函数中,定义y为动态变量,x=30,y=3,f=30*3=90,返回到调用语句,所以y的值是90。由于x是静态变量,此时x的值是30,所以程序运行结果是30 90。故本题答案为D。