vb大师请帮忙!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/11 13:05:19
在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
For n=1To20
If n Mod3<>0 Then
m=m+n\3
Next n
Print n
End Sub
程序运行后,如果单击命令按钮,则窗体上显示的内容是21
大师帮忙解释解释怎么是这个答案阿??
想不通答案!!!!!谢谢大师

这个程序好象没什么意义.不过还是说说吧.如果你明白了for循环是怎么执行的话你的问题就能解决了.循环首先执行n=1,然后进入循环体,执行循环语句(m=m+n\3)然后执行next n,(for 循环后没有写步长值step 的话就默认为1)此时n=2,然后检验N是否溢出,因为你设的N最大值是20所以还可以继续循环,一直到n=20,执行完循环体后,执行next n,此时n=21了,然后返回判断是否溢出,已经超过了最大值20,所以跳出循环,执行下一条语句(既print n),因此此时打印出的N值为21!

这样肯定是21的啊,你打印的是n,n在循环到20时结束了循环,最后的next n把n+1,n就变成21了哦,print n 就打印21了.
还有你的程序差了一个endif,或者
If n Mod3<>0 Then m=m+n\3 这样写在一行上.

问一下,,你的程序要实现什么的功能呢