标准模块中有如下程序代码: Public x As Integer,y As Integer Sub var pub() x=10:y=20 End Sub 在窗体上有1个命令按钮,并有如下事件过程: Pri

admin2019-04-29  30

问题 标准模块中有如下程序代码:
    Public x As Integer,y As Integer
    Sub var pub()
    x=10:y=20
    End Sub
    在窗体上有1个命令按钮,并有如下事件过程:
    Private Sub Command1_Click()
    Dim xAs Integer
    Call var pub
    x=x+100:y=y+100:Print x;y
    End Sub
    运行程序后单击命令按钮,窗体上显示的是

选项 A、100 100
B、100 120
C、110 100
D、110 120

答案B

解析 在标准模块用Public关键字声明的全局变量,其作用域最大,可以在工程的每个模块、每个过程中使用。但当不同作用范围的变量重名时,有效范围小的变量会屏蔽有效范围大的变量。当一个全局变量与一个过程级变量重名时,当在本过程中直接使用这个变量名时,被认为是指局部变量。如果要在这个过程中使用同名的全局变量,要使用模块名来修饰变量名。
    在本题的事件过程中,由于变量x被声明为过程级变量,其初始值为0,调用过程vat pub不会改变其值,而变量y为标准模块中声明的全局变量,调用过程var pub后其值为20。故最后输出结果为100和120。
转载请注明原文地址:https://kaotiyun.com/show/g9Up777K
0

最新回复(0)