以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]流程控制语句 do while loop  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=60828)

--  作者:laotang1984
--  发布时间:2014/12/1 22:40:00
--  [求助]流程控制语句 do while loop
代码1:
Dim Sum As Integer
Dim i As Integer = 1
Do While i <= 100
    i = i + 1
    Sum = Sum + i
    
Loop
Output.Show(Sum)
结果为5150
代码2:
Dim Sum As Integer
Dim i As Integer = 1
Do While i <= 100
       Sum = Sum + i
       i = i + 1
Loop
Output.Show(Sum)
结果为5050
在流程控制语句中i=i+1的位置不同,所得到的结果不一样
对于两段代码,如何理解?

--  作者:有点甜
--  发布时间:2014/12/1 22:52:00
--  

 代码1,是 2+3+4+5+...+101

 

 代码2,是 1+2+3+4+...+100


--  作者:LAOTANG1984
--  发布时间:2014/12/1 22:58:00
--  
关键是怎么理解呢  甜版  结果都是知道的
对于第一个5150的结果比较好理解
就是第二个  为么把i=i+1放在sum=sum+i后面?
帮助文件对基础代码语法和流程语句部分的讲解是不是有所欠缺?
没有编程基础的人看起来懵懵懂懂的


--  作者:有点酸
--  发布时间:2014/12/1 23:13:00
--  

i = i +1在前面的话,就是i先加上1,sum再加上i,所以sum是2+3+4+...+101

i = i +1在后面的话,sum先再加上i,i再加上1,所以sum是1+2+3+4+...+100

 

没有"为什么把i=i+1放在sum=sum+i后面"的疑问,放在前面和后面的计算结果不同,你需要得到那个结果,就那样放。