注册 登录
编程论坛 VB6论坛

为什么a的值是6?

easonzgf 发布于 2014-12-10 21:30, 658 次点击
a = 6
    For k = 1 To 0
    a = a + k
       Next k
    Print k; a
7 回复
#2
wp2319572014-12-10 23:34
因为不走循环   可以把中间的三条语句当空气
#3
easonzgf2014-12-11 10:51
回复 2楼 wp231957
可是k=1呀,不是走一个k=1的么?
#4
wp2319572014-12-11 11:02
回复 3楼 easonzgf
这个流程是这样的:

1、a = 6
2、k=1
3、判断k与0的关系  如果大于则转第6步 如果小于0 则转第4步
4、a = a + k
5、Next k(k值自增后 跳转至第3步,继续判断k与0的关系)
6、Print k; a

这里因为是k=1进入循环首部 所以越过4、5 直接第6步

[ 本帖最后由 wp231957 于 2014-12-11 11:04 编辑 ]
#5
lianyicq2014-12-11 11:05
没定步长,步长缺省为正1
#6
smart30002014-12-11 12:36
a = 6
    For k = 1 To 0
    a = a + k
       Next k
    Print k; a


VB循环默认步长为1,因为循环初始值k=1>0所以直接跳出循环,直接执行print语句
#7
yangfrancis2014-12-11 23:07
For k = 1 To 0 Step=-1
解决
#8
yangfrancis2014-12-11 23:07
不对,刚才错了
是For k=1 To 0 Step -1
1