xueming 发表于 2010-5-5 15:59:42

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呢?

admin 发表于 2010-5-5 20:10:26

回复 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

xueming 发表于 2010-5-6 10:18:23

非常感谢管理员的帮助,但我测试后还是在第一次进入循环体后i的值为0,(i=i+1)的值为1,第二次进入循环体后i的值却为2,,(i=i+1)的值为3了,不是For语句的循环每次步长加1,为什么第二次的时候就直接变为2了,而不是为1呢?这点我不明白,请您再指点我下!我是哪里理解错了。

admin 发表于 2010-5-6 11:48:04

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

xueming 发表于 2010-5-6 12:34:10

非常感谢,还是我自己本身的逻辑思维错误,多谢指点!

admin 发表于 2010-5-6 13:48:12

不用客气呀,本站注重的就是技术交流,还希望多多发帖

zxc3412 发表于 2010-11-1 20:40:02

祝大家学习进步
页: [1]
查看完整版本: VB For...Next 循环遇到的问题