关于VB循环语句的问题
PrivateSubForm_Click()Fori=0To50i=i+3n=n+1Ifi>20ThenExitForNextiPrintnEndSub为什么最后输出的答...
Private Sub Form_Click()
For i = 0 To 50
i = i + 3
n = n + 1
If i > 20 Then Exit For
Next i
Print n
End Sub
为什么最后输出的答案为6 ,而不是7 展开
For i = 0 To 50
i = i + 3
n = n + 1
If i > 20 Then Exit For
Next i
Print n
End Sub
为什么最后输出的答案为6 ,而不是7 展开
2014-12-08
展开全部
Private Sub Form_Click()
For i = 0 To 50
i = i + 3
n = n + 1
If i > 20 Then Exit For
Next i
Print n
'当i=0时,条件成立,执行循环里语句,i=i+3=0+3=4,n=n+1=0+1=1,i>20 条件不成立
'执行next i 语句,i=i+1=3+1=4
'i=4条件成立,执行循环里语句,i=i+3=4+3=7,n=n+1=1+1=2,i>20 条件不成立
'执行next i 语句,i=i+1=7+1=8
'i=8条件成立,执行循环里语句,i=8+3=8+3=11,n=n+1=2+1=3,i>20 条件不成立
'执行next i 语句,i=i+1=11+1=12
'i=12条件成立,执行循环里语句,i=i+3=12+3=15,n=n+1=3+1=4,i>20 条件不成立
'执行next i 语句,i=15+1=15+1=16
'i=16条件成立,执行循环里语句,i=i+3=16+3=19,n=n+1=4+1=5,i>20 条件不成立
'执行next i 语句,i=i+1=19+1=20
'i=20条件成立,执行循环里语句,i=i+3=20+3=20,n=n+1=5+1=6,i>20 条件成立,执行exit for 结束循环
'执行print n 输出6
End Sub
追问
为什么“'执行next i 语句,i=i+1=3+1=4”这句话中还i+1 而不是直接是i=3呢?
追答
因为你for 循环的步长没写,默认是1 ,for i=0 to 50 step 3 这样写才会加3
2014-12-08 · 知道合伙人软件行家
yfcp
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数:1748
获赞数:5545
有多年网站建设相关工作经验。熟悉ASP、ASP.net、VB、JavaScript、HTML等语言和CSS、Ajax等相关技术。
向TA提问 私信TA
关注
展开全部
i的值分别是:
循环次数 初始值 +3后的值
1 0 3
2 4 7 ’为什么初始值是4呢?因为for ..next一次,本身就要+1
3 8 11
4 12 15
5 16 19
6 20 23
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-12-08
展开全部
以下是每次的循环过程,因为for ……next 循环,每次循环会把i自加1默认的循环步长为1(即i=i+1)
i=0 : i=0+3=3 (n=0:n=0+1=1) next i (即i=i+1=3+1=4)
i=3 : i=4+3=7 (n=1:n=1+1=2) next i (即i=i+1=7+1=8)
i=6 : i=8+3=11 (n=2:n=2+1=3) next i (即i=i+1=11+1=12)
i=9 : i=12+3=15 (n=3:n=3+1=4) next i (即i=i+1=15+1=16)
i=12 : i=16+3=19 (n=4:n=4+1=5) next i (即i=i+1=19+1=20) 此时i=20 不满足i>20,进入下一次循环
i=20 : i=20+3=23 (n=5:n=5+1=6) i>20,退出循环,n=6
i=0 : i=0+3=3 (n=0:n=0+1=1) next i (即i=i+1=3+1=4)
i=3 : i=4+3=7 (n=1:n=1+1=2) next i (即i=i+1=7+1=8)
i=6 : i=8+3=11 (n=2:n=2+1=3) next i (即i=i+1=11+1=12)
i=9 : i=12+3=15 (n=3:n=3+1=4) next i (即i=i+1=15+1=16)
i=12 : i=16+3=19 (n=4:n=4+1=5) next i (即i=i+1=19+1=20) 此时i=20 不满足i>20,进入下一次循环
i=20 : i=20+3=23 (n=5:n=5+1=6) i>20,退出循环,n=6
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询