什么理解这段VB代码呢?

来源:百度知道 编辑:UC知道 时间:2024/05/31 09:14:01
Private Sub Command1_Click()
Static x As Integer
Cls
For i=1 To 2
y=y+x
x=x+2
Next
Print x,y
End Sub

程序运行后,连续三次单击Command1按钮后,窗体上显示的是12和18. 如何看出来呢?请指点

用Static声明变量说明这是一个“静态”变量,至于什么是静态你再回去看下书,简单来说就是每次运行这个过程它的值还保留,不清零。

第一次:for语句前:x=0;y=0 单击后:x=4;y=2
第二次:for语句前:x=4;y=0 单击后:x=8;y=12
第三次:for语句前:x=8;y=0 单击后:x=12;y=18

刚开始是X=0,Y=0
第一次点击:x=2,y=0
x=4,y=2
第二次:X=6,Y=4
X=8,Y=10
第三次:X=10,Y=8
X=12,Y=18

根据题目,x被定义为静态变量,每次加2后的值都会保留下来,经过6次循环后就是12啦.而y是默认的动态变量,所以每次单击后,前一次的数据就会消失,最后一次y+x=8+10=18.希望我说的够清楚

Static x As Integer
表示即使退出该过程,x 的值仍然保留

第一次:x 的初始数值为 0
x 加两次 2,结果为 4
4,2

第二次:x 的初始数值为上次结束时的值,即: 4
x 加两次 2,结果为 8
输出:8,10

第三次:x 的初始数值为上次结束时的值,即: 8
x 加两次 2,结果为 12
输出:12,18

y 你能自己分析吧。