窗体中有一个名为Commandl的按钮,该模块内还有一个函数过程: Public Function f(x As Integer)As Integer Dim y As Integer x=30 y=

admin2020-06-25  32

问题 窗体中有一个名为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
    打开窗体运行后,如果单击按钮,则在立即窗口上显示的内容是(    )。

选项 A、10  5
B、10  90
C、30  5
D、30  90

答案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。
转载请注明原文地址:https://kaotiyun.com/show/5hcp777K
0

最新回复(0)