VB循环执行结果窗体显示还有一点不理解

privatesubform_click()x=1y=5z=2fork=xtoystepzy=y-1nextprinty;kendsubA,27B,35C,57d,出错答... private sub form_click()
x=1
y=5
z=2
for k=x to y step z
y=y-1
next
print y;k
end sub

A,2 7
B,35
C,57
d,出错

答案A

k=1 to 5 step 2
k=1时,y=y-1=5-1=4,k=1
k=3时,y=y-1=3,k=3
k=5时,y=y-1=2,k=5
然后k=k+2=7,然后发现超出范围了,就停止循环,此时y=2,k=7
print y;k的结果是2 7

for循环步长为2,为什么要到7才停止循环。
如果要结果输出y=2,k=5........................................怎么办?
展开
 我来答
alxzoom
2015-07-01 · TA获得超过523个赞
知道小有建树答主
回答量:646
采纳率:80%
帮助的人:432万
展开全部
x = 1
y = 5
z = 2
For k = x To y Step z
y = y - 1
Cls
Print y; k
Next
把y,k的显示放在循环里面,那样就是2,5
因为for next里面的语句只会执行到条件允许的范围。
到7停止是因为,VB会判断条件是否成立,所以还要先加一个步长,看看是不是对的。如果符合条件则继续运行,不对就结束。类似条件判断的语句,也会有这种情况。所以编程的时候要注意。至于为什么这样,你别问我,我不知道。
追问
开始有点明白了,不过不懂用exit for的方法
追答
x = 1
y = 5
z = 2
For k = x To y Step z
y = y - 1
If k + 2 > 5 Then Exit For
Next
Print y; k
这样
百度网友cc16d5c
2015-07-01 · TA获得超过731个赞
知道小有建树答主
回答量:647
采纳率:50%
帮助的人:536万
展开全部
第1个问题:For循环的结束条件就是这样约定的:当前循环变量值=前一次循环变量值+Step值,如当前循环变量值大于(Step值为正)或小于(Step值为负)循环终值,则循环结束。
第2个问题:在Next之后,Print y;k之前增加一行,输入k=k-z即可。或者在y = y - 1之后,Next之前增加一行,输入If y = 2 Then Exit For也可以。
追问
第2个问题,看不懂你在说些什么
追答
Next
k=k-z '新增行
Print y;k

y = y - 1
If y = 2 Then Exit for '新增行
Next
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式