在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序:
Private Sub Command1_Click()
Static X As Integer
Static Y As Integer
Cls
Y=1
Y=Y+5
X=5+X
Print X,Y
End Sub
程序运行时,三次单击命令按钮Commandl后,窗体上显示的结果为()
菜鸟的答案是 5 6 而试卷给出的答案是15 6
菜鸟认为因为有cls 所以没运行一次就会把记录清除一遍,所以无论点多少次,都是显示5 6。
菜鸟错在哪里请高手指点一下。
是这样的,cls应该是清除窗体的显示,但变量的值还是不变啊,没有清除。 对吧。好的话,请采纳一下,谢谢你!互相帮助!
----------------------
上海财智学院助你成功!www.witedu.org.cn
一本大学专业的全日制自考助学,以及出国留学项目!可以在线咨询。
Static X As Integer 如果改为 Dim X As Integer 你的答案就是对的Static声明的变量在过程完成后值依然保留
Static Y As Integer 这里不论是Static 还是Dim 都不影响Y值,因为Y值每次都会被先赋值为1
Private Sub Command1_Click()
Static X As Integer
Static Y As Integer
Cls
Y = 1
Print Y;
Y = Y + 5
X = 5 + X
Print X, Y
End Sub
看看结果是这样吗?
cls的功能只是把窗体上的输出给清除掉,并没有将x和y的值清除
因为x,y被定义为静态变量,所以每次执行Command1_Click事件时并没有重新定义
所以第一次点击后
x为5
y为6
第二次
x为10
y为6
第三次
x为15
y为6
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息