vb:private定义

来源:百度知道 编辑:UC知道 时间:2024/06/27 16:25:36
有如下两段代码:
Private Sub Command1_Click()
Static y As Integer
Dim z As Integer, x As Integer
n = 10
z = n + z
y = y + z
x = x + z
Label1.Caption = x
Label2.Caption = y
Label3.Caption = z
End Sub
运行结果显示:10 30 10

Private x As Integer
Private Sub Command1_Click()
Static y As Integer
Dim z As Integer
n = 10
z = n + z
y = y + z
x = x + z
Label1.Caption = x
Label2.Caption = y
Label3.Caption = z
End Sub
运行结果显示30 30 10

不太明白,在不同地方对x定义是如何影响运行结果的,希望明白的朋友帮忙讲一下,谢谢。

第一段里头的x是作为窗体里的模块变量,每次运行前会自动初始化,即为0,第二段里头确是作为一个全局变量,值会保留,不会被初始化

你代码没贴全,第二段代码中的X在其他位置改变过数值了,第一段定义的是过程内变量,数值不会在其他地方改变,初始值为0