VB For 循环题

来源:百度知道 编辑:UC知道 时间:2024/06/23 16:25:23
Option Explicit
Dim a As Single
Dim b As Integer

Private Sub Command1_Click()
b = Val(Trim(Text1.Text))
For b = 1 To b
a = b + 1
Next b
Text2.Text = b
End Sub

我在Text1上面填上
10
然后执行这个
得出结果是11
他为什么不执行循环
只执行
我想做出1+2+3+4+5....N =X
N由我输入
X在text2上显示

For b = 1 To b
你这里b=1 了,然后循环到b,b=1,相当于
For b = 1 To 1
当然只循环一次

我错了,楼上说对了,还真循环了

你这样改
a=0
b = Val(Trim(Text1.Text))
For i = 1 To b
a = a + i
Next i
Text2.Text = a

初次循环时,b被赋予初值1,这时变成了b=1 to 1,循环体执行完毕,这时b等于末值,退出循环,于是只会执行一次。

1楼和2楼回答错误,照楼上回答的话,结果只会是2,而不是11

你可以设断点跟踪一下,其实它执行了循环
执行过程是:a=1+1,a=2+1,a=3+1.....直到a=10+1循环结束。
最后结果当然是11

你要的结果是这样吧:For i = 1 To b
a = b + i
Next i

b = Val(Trim(Text1.Text)) '输入b=10
For b = 1 To b '循环b从1~10,终值不会因为b改变
a = b + 1
Next b
'程序循环啊循环..到了b=10的时候,继续执行完毕,然后累加器b=b+1=11,回到头上,无法满足b=1 to 10,于是退出
Text2.Text = b '因此最后b=11

二楼也错了 输出的是b不是a,a谁都知道是11。