一道简单的vb题,但是我就是有个地方搞不明白

来源:百度知道 编辑:UC知道 时间:2024/09/21 15:43:27
private sub command1_click()
dim s as string,t as string
dim k as integer,m as integer
s="BASICY"
k=1:m=k
for k=1 to len(s) step m+1
t=t & chr(asc(mid(s,m,1))+k)
k=k+1
if mid(s,k,1)="Y" then exit for
m=m+k
print t
next k
print m
end sub

为什么运行到第二个k=4,而不是k=3
for k=1 to len(s) step m+1 难道不是for k=1 to 6 step 1+1
m不是=1吗?
为什么是k=1,4,7?
如果m值在过程中产生变化,那么k=4,k=4+1=5,m=3+5=8......next k为什么还=7?......

因为有 m=m+k
所以 m 在第一次循环结束时的值是 3

初值m和k相同均为1。循环中m扁两倍为2,k+1为2了。第二次循环中step m实际上是k增加了m(为2),所以为4了,以次类推。

还在弄vb6 那都是10年前的东西了,郁闷