以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73301)

--  作者:pxzyf
--  发布时间:2015/8/16 18:16:00
--  [求助]
Dim Sum As Integer
Dim i As Integer = 1
Do While i < 100
    i= i + 2
    Sum = Sum + i 
Loop
Output.Show(Sum)
 
显示结果:2600

Dim Sum As Integer
Dim i As Integer = 1
Do While i < 100
    Sum = Sum + i 
    i= i + 2
Loop
Output.Show(Sum)
显示结果:2500
为什么会有区别????

--  作者:lmk
--  发布时间:2015/8/16 18:49:00
--  
前一个是累计后再判断条件,后一个是先判断条件再累计,所以前面一组代码多累加了一次不符合 i<100 条件的值。
--  作者:lmk
--  发布时间:2015/8/16 19:14:00
--  
贺老师看一下,好像真有点问题,前面一段代码按循环条件应该是多累加了一次101,sum得到的结果应该是:2601才对呀,可结果却是:2600,确实不解
--  作者:有点蓝
--  发布时间:2015/8/16 19:15:00
--  
其实你在循环里加个output.show(sum)就明白了,其实这个sum是不同数列的和值,前一个是3开头的数列,后一个是1开头的数列
--  作者:lmk
--  发布时间:2015/8/16 19:19:00
--  
一语点醒,谢谢有点蓝,明白了。
--  作者:pxzyf
--  发布时间:2015/8/16 19:48:00
--  
明白了,谢谢。