VB问题!知道答案为b为什么呢?

来源:百度知道 编辑:UC知道 时间:2024/06/14 07:39:28
在窗体上添加一个名为Command1的命令按钮,然后编写如下事件过程:
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按钮后,窗体上显示的是______.
(A) 4 2 (B) 12 18 (C) 12 30 (D) 4 6
要详细点的解答
答案是B诶

Static x As Integer 表示x是静态变量,就是说,你第一次按了之后,x的值是可以保存的,但是y 每按一次按钮他都会从0开始!
每按一次 循环两次,所以结果如下
第一次 4 2
第二次 8 10
第三次 12 18
记住 x 是 静态变量 (Static)

因为 y每次都从0开始循环, 所以要我们求第三次的y, 我们只需要 用第二次的 x值来循环 不需要算前面 y值 因为他每次按按钮的初始值为0

循环 1:
y=y+x --- y=0+8 =8
x=x+2 --- x=8+2 =10

循环 2:
y=y+x --- y=8+10 =18
x=x+2 --- x=10+2 =12

12 18

第一次循环y=0,x=2,第二次y=2,x=4。答案A吧?

x 是静态变量,所以答案是:12,18 1楼正解