永发信息网

vb菜鸟请高手指点一下,这道题错在哪里??

答案:4  悬赏:10  手机版
解决时间 2021-05-22 14:49
  • 提问者网友:战皆罪
  • 2021-05-22 11:25

 在窗体上画一个名称为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。

  菜鸟错在哪里请高手指点一下。

最佳答案
  • 五星知识达人网友:像个废品
  • 2021-05-22 11:54

是这样的,cls应该是清除窗体的显示,但变量的值还是不变啊,没有清除。    对吧。好的话,请采纳一下,谢谢你!互相帮助!


----------------------


上海财智学院助你成功!www.witedu.org.cn


一本大学专业的全日制自考助学,以及出国留学项目!可以在线咨询。


全部回答
  • 1楼网友:话散在刀尖上
  • 2021-05-22 14:44

Static X As Integer 如果改为 Dim X As Integer 你的答案就是对的Static声明的变量在过程完成后值依然保留

Static Y As Integer 这里不论是Static 还是Dim 都不影响Y值,因为Y值每次都会被先赋值为1


 

  • 2楼网友:举杯邀酒敬孤独
  • 2021-05-22 13:45

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

看看结果是这样吗?

  • 3楼网友:神的生死簿
  • 2021-05-22 12:56

cls的功能只是把窗体上的输出给清除掉,并没有将x和y的值清除

因为x,y被定义为静态变量,所以每次执行Command1_Click事件时并没有重新定义

所以第一次点击后

x为5

y为6

第二次

x为10

y为6

第三次

x为15

y为6

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯