vb中步长为变量怎么算?
答案:4 悬赏:60 手机版
解决时间 2021-12-02 17:08
- 提问者网友:树红树绿
- 2021-12-02 02:47
vb中步长为变量怎么算?
最佳答案
- 五星知识达人网友:想偏头吻你
- 2021-12-02 03:56
你可以看做是
for i = 1 to 10 step 2
a=a+1
b=b+1
i=i+1
next i
print a,b,i
改变循环次数的是i=i+1这句
第一次循环后 i=2
然后进入第二次循环 i + 步进2=4 i=4+1=5
第三次 i=5+2=7 i=7+1=8
第四次 i=8+2=10 i=10+1=11 加步进=13 不满足循环条件跳出循环
循环4次 a初始1 累加4次等于5 好理解 b也如此
for i = 1 to 10 step 2
a=a+1
b=b+1
i=i+1
next i
print a,b,i
改变循环次数的是i=i+1这句
第一次循环后 i=2
然后进入第二次循环 i + 步进2=4 i=4+1=5
第三次 i=5+2=7 i=7+1=8
第四次 i=8+2=10 i=10+1=11 加步进=13 不满足循环条件跳出循环
循环4次 a初始1 累加4次等于5 好理解 b也如此
全部回答
- 1楼网友:鸽屿
- 2021-12-02 06:20
开始时:a=1, b=10, i=0
对:For i=a To b Step a+1,vb只会进行一次计算,之后每次循环都不会改变起始值、终止值和步长。故这一句相当于:For i=1 To 10 Step 2,每次循环后结果如下:
第1轮:a=2, b=11, i=2
第2轮:a=3, b=12, i=5(上一轮结果2+步长2+1)
第3轮:a=4, b=13, i=8(上一轮结果5+步长2+1)
第4轮:a=5, b=14, i=11(上一轮结果8+步长2+1)
第4论结束后,i+步长2=13>10,循环结束。故最后结果是:
a=5, b=14, i=13
对:For i=a To b Step a+1,vb只会进行一次计算,之后每次循环都不会改变起始值、终止值和步长。故这一句相当于:For i=1 To 10 Step 2,每次循环后结果如下:
第1轮:a=2, b=11, i=2
第2轮:a=3, b=12, i=5(上一轮结果2+步长2+1)
第3轮:a=4, b=13, i=8(上一轮结果5+步长2+1)
第4轮:a=5, b=14, i=11(上一轮结果8+步长2+1)
第4论结束后,i+步长2=13>10,循环结束。故最后结果是:
a=5, b=14, i=13
- 2楼网友:玩家
- 2021-12-02 05:55
进入FOR循环后,范围以及步长都不可改变,即使是以变量来设置的。程序执行上面有人说了我就不说了。追问你说出了重点,我开始以为步长一直在随着a变长,可惜分已经给他了,也谢谢你
我自己刚才也这样试着查看
Private Sub Command1_Click()
Dim a As Integer, b As Integer, i As Integer
a = 1: b = 10
For i = a To b Step a + 1
a = a + 1
Print "a="; a
b = b + 1
Print "b="; b
i = i + 1
Print "i1="; i
Next i
Print "i2="; i
Print a, b, i
End Sub追答没事,他说的话其实也包含这个信息,只是你没有读出而已。其实你自己单步去观察多几次就可以发现它是不变的了。我觉得学会调试比会写代码重要。
我自己刚才也这样试着查看
Private Sub Command1_Click()
Dim a As Integer, b As Integer, i As Integer
a = 1: b = 10
For i = a To b Step a + 1
a = a + 1
Print "a="; a
b = b + 1
Print "b="; b
i = i + 1
Print "i1="; i
Next i
Print "i2="; i
Print a, b, i
End Sub追答没事,他说的话其实也包含这个信息,只是你没有读出而已。其实你自己单步去观察多几次就可以发现它是不变的了。我觉得学会调试比会写代码重要。
- 3楼网友:青尢
- 2021-12-02 05:03
这个关键是Step 一次定值,也就是说,第1次计算Step 得到的是2,以后每次循环这个Step 2就不变了;
这个是关键,所以循环进行4次;
a=1
b=10
for i = 1 To 10 Step 2
a=a+1
b=b+1
i=i+1
next i
第1次循环结束,a为2,b为11,i 为4
for i = 4 To 10 Step 2
a=a+1
b=b+1
i=i+1
next i
第2次循环结束,a为3,b为12,i 为7
for i = 8 To 10 Step 2
a=a+1
b=b+1
i=i+1
next i
第3次循环结束,a为4,b为13,i 为10
for i = 10 To 10 Step 2
a=a+1
b=b+1
i=i+1
next i
第4次循环结束,a为5,b为14,i 为13
这个是关键,所以循环进行4次;
a=1
b=10
for i = 1 To 10 Step 2
a=a+1
b=b+1
i=i+1
next i
第1次循环结束,a为2,b为11,i 为4
for i = 4 To 10 Step 2
a=a+1
b=b+1
i=i+1
next i
第2次循环结束,a为3,b为12,i 为7
for i = 8 To 10 Step 2
a=a+1
b=b+1
i=i+1
next i
第3次循环结束,a为4,b为13,i 为10
for i = 10 To 10 Step 2
a=a+1
b=b+1
i=i+1
next i
第4次循环结束,a为5,b为14,i 为13
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯