vb 循环步长问题

PrivateSubForm_Click()Dimk%,y%y=10:k=20Fork=1To5Step-1y=y+kNextkPrinty;kEndSub步长为负值,可... Private Sub Form_Click()
Dim k%, y%
y = 10: k = 20
For k = 1 To 5 Step -1
y = y + k
Next k
Print y; k
End Sub

步长为负值,可是初值却小于终值,而且vb还算的出来,哪位能帮忙解释下?我初学,谢谢
展开
 我来答
麦香甜甜圈
2009-05-10 · TA获得超过792个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:171万
展开全部
并不是,你想象的“无限循环”。
VB在做for循环时,先会预测循环能否到达终值,若预测出不能到达终值,则循环连做都不做,直接跳过循环运行下面的程序;若预测能到达终值,才做循环。
因此你的源程序输出 10和1,y的值根本没变,k的值在循环开始被重新赋值成1.
lxz1969
2009-05-10 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8524
采纳率:33%
帮助的人:1.1亿
展开全部
循环开始时,程序首先把K赋值为初值。然后测试根据初值和步长能不能到达终值,如果能,就执行循环体,如果不能,就直接结束循环,因此你这个循环体并没有执行。所以最终结果是:10 1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式