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

admin2021-09-06  27

问题 窗体中有一个名为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、10  5
B、10  90
C、30  5
D、30  90

答案D

解析 本题考查的是参数传递和静态变量。由Dim定义的变量通常称为动态变量,其值会被重新赋值,由Static定义的变量称为静态变量,每次引用该变量时其值会继续保留。在command1_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/pXvp777K
0

最新回复(0)