vb中的题目

来源:百度知道 编辑:UC知道 时间:2024/05/27 10:03:05
在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Dim i As Integer, n As Integer
For i = 0 To 50
i = i + 3
n = n + 1
If i > 10 Then Exit For
Next
Text1.Text = Str(n)
End Sub
程序运行后,单击命令按钮,在文本框中显示的值是

答案为什么是3,不是4,请解释一下,谢谢啦!

i=0时,执行 i = i + 3后i=3,执行一次n=n+1,next后i=4
i=4时,执行 i = i + 3后i=7,执行一次n=n+1,next后i=8
i=8时,执行 i = i + 3后i=11,执行一次n=n+1,符合if条件,退出循环

关键可能在于执行一次i=i+3之后遇到nex i时i又加了1
遇到这样的问题可以在循环中设置断点随时查看i的值是多少。

1:i=0 i+3=3
2:i=4 i+3=7
3:i=8 i+3=11
退出。N=3

For i = 0 To 50
相当于For i = 0 To 50 step 1
所以for
1. i=0 i=i+3=3 n = n + 1=1
2. i=3+1=4 i=i+3=7 n = n + 1=2
3. i=7+1=8 i=i+3=11 n = n + 1=3
i>10所以退出,n=3

i n
0 0
3 1
6 2
9 3
12 4
你判断在后面,当i=9是,还会进入循环,然后i变成12,n变成4
不满足判断条件,退出循环
显示 4
你之前加上n=0试试
那个NEXT要来干什么?没用的吧