工地标准化建设:一个VB问题,高手来帮一下

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/30 18:36:55
请看下这个程序
Private Sub Command1_Click()
For i = 1 To 4
i = i + 1
Next
Print i
End Sub
计算机执行的答案是5
而我是这样认为的:
当i=1时
i=i+1=2
next i
当i=3时
i=i+1=4
next i
但到这一步后面就应该没有了啊,循环是1到4
i已经等于4了,怎么可能还来个next i呢
我就是这里不懂
希望高手指点迷津

是这样的,执行完 i=i+1=4 以后,遇到 Next
这时,按照For循环的规定,i 应该自增1,这时 i=5,然后计算机才能将 i 与 For i=1 to 4中的 4 比较,发现已经超过,然后才执行 Print i。

For i = 1 to 4
i = i +1
Next
Print i

相当于

i = 1
Do Until i > 4
i = i + 1 ' 这是你原来写的
i = i + 1 ' 这是 For 循环每次要自动进行的
Loop
Print i

i是在 For i = 1 To 4 验证i是否为4(也就是这时的i是4
)的当为4时 继续循环
然后
i=i+1
i=5
所以i=5

本来循环到4 但你在循环体有加1 所以为5

是在next语句判断条件,而不是在for语句判断
与c不一样的