VB的问题 高手进来

来源:百度知道 编辑:UC知道 时间:2024/06/22 11:47:05
Dim x As Integer
Private Sub Form_Load()
Timer1.Interval = 1000
Timer1.Enabled = True

End Sub
Private Sub Timer1_Timer()
Call sub1(x)
x = x + 1
If x >= 5 Then Timer1.Enabled = False

End Sub

Public Sub sub1(n As Integer)
n = n + 1
Print "n="; n;

End Sub
帮忙 分析 一下 x和n 是怎么互相变化的
谢了 啊

Call sub1(x)
运行到此处. 将x作为参数传给sub1,在sub1中称为n,其实是同一个变量,因为此处是把x在内存中的地址传给sub1,所以在sub1中改变n的值,对x值有影响.

运行第一次,在sub1中将n加1,n变为1,在整个程序中,x的值也变为1,,输出"n=1",
然后回到Timer1_Timer中,再将x+1 ,所以x=2

运行第二次,在sub1中将n加1,n变为3,在整个程序中,x也是3,输出"n=3",

.....

在sub1中运行时,x的值始终=n