关于VB循环的 问题?!

来源:百度知道 编辑:UC知道 时间:2024/06/05 06:49:00
Private Sub Command1_Click()

Dim a, b, s, i As Integer
a = Val(Text1.Text)
b = Val(Text2.Text)
s = 0
i = a
Do While i <= b
s = s + i
i = i + 1
Loop
MsgBox "计算结果为:" & s

End Sub
中的
s = s + i
i = i + 1
最搞不明白!?
请详细解答啊 谢谢 加分
为什么s=s+i
i=i+1不矛盾么“?

Private Sub Command1_Click()
Dim a, b, s, i As Integer 定义为整型
a = Val(Text1.Text) '把Text1.Text中显示的东西赋给a ,从下面看来应该是数值
b = Val(Text2.Text) '把Text2.Text中显示的东西赋给b
s = 0 '设定s初值为0
i = a '设定i初值为a
Do While i <= b '当b大于等于a时,也就是文本框2中的数大于文本框1中的数时执行下面的语句,否则不执行循环语句,因为后面i是不断增加的,所以总会有大于b的时候,此时就不再循环,退出循环,s也得到了相应的值
s = s + i 's一开始为0,加上i,就是a,没循环一次就加一次
i = i + 1 'i加1后,再把值赋给i并不矛盾,是赋值语句,等号后面的赋值给等号前面的,=的意思不是等于而是赋值的意思
Loop '返回执行Do 语句,执行循环
MsgBox "计算结果为:" & s '弹出框框显示累加的和s
End Sub

目标是计算a+(a+1)+(a+2)+......+b 然后赋值给s并显示

程序的目的是要计算从Text1中输入的数到Text2中输入的数的
全部数的和。

这里s = s + i是累加的操作。
而i = i + 1是从数a到数b递增的操作。

并不是矛盾。

也可以改写成FOR的形式:

For i = a To b
s = s + i
Next

这样会更容易理解。

Do While i <= b '判断i是否小于或等于b
s = s + i '把i累加到和里
i = i + 1 'i累加
Loop
不矛盾,第一个是对s赋值,第二个对i赋值

For i = a To b