VB For...Next 循环遇到的问题
以下是我无意中写的代码:Private Sub Command1_Click()
Dim sum As Integer, i As Integer
i = 0
sum = 1
For i = 1 To 100
Debug.Print "i的值为:" & i
i = i + 1
Debug.Print "i的值为:" & i
Next i
End Sub
第一次进入循环体i的值是对的(分别为1和2),但第二次进入循环体时第一个i的值为3,第二个就是3+1=4,默认步长应该为1,怎么第二次进入循环体i的值不是2而是3啊,想了半天没想明白,请路过的大侠帮忙指点下,是哪里我想错了!我的本意只是想看到i这个变量应该是连续增加啊,怎么会跳到3呢? 回复 1# xueming
应该是这样:
Private Sub Command1_Click()
Dim sum As Integer, i As Integer
For i = 0 To 99
Debug.Print "i的值为:" & i'从0 到99
i = i + 1
Debug.Print "i的值为:" & i’从1到100
Next i
End Sub 非常感谢管理员的帮助,但我测试后还是在第一次进入循环体后i的值为0,(i=i+1)的值为1,第二次进入循环体后i的值却为2,,(i=i+1)的值为3了,不是For语句的循环每次步长加1,为什么第二次的时候就直接变为2了,而不是为1呢?这点我不明白,请您再指点我下!我是哪里理解错了。 i=i+1本身就是个赋值语句。
当i=0时,i=i+1=1;
当i=1时,i=i+1=2;
当i=2时,i=i+1=3;
…………
在for……next里都是循环赋值的
For i = 0 To 99
i = i + 1
1 0 第一次循环
2 1第二次循环
3 2第三次循环
…………
Next i 非常感谢,还是我自己本身的逻辑思维错误,多谢指点! 不用客气呀,本站注重的就是技术交流,还希望多多发帖 祝大家学习进步
页:
[1]