已有22人关注
for next 循环语句
发表在VB答疑区 2011-03-03
是否精华
版块置顶:
private sub command1_click()
  dim i as integer
  dim s as integer
  for i = 0 to 10
  s = s + i
  i = i + 1
  next i 
end sub
这个代码运行以后显示为什么是30啊,怎么来的
分享到:
精彩评论 6
vbsoldier
学分:0 LV1
2011-03-04
沙发
因为在一轮循环结束之前,循环计数器被自加1,所以在第二轮循环的时候,I的值是之前的值 加上2。

每次循环时,I的值分别为 0 2 4 6 8 10
它们的和为30
wuyuan0574
学分:0 LV1
TA的每日心情
开心
2022-12-28 11:47:55
2011-03-04
板凳
i从0到10那i+1不是还有1,3,5,7,9么这些数去哪了,大哥你能不能再仔细讲一下 啊
vbsoldier
学分:0 LV1
2011-03-04
地板
假如I的初始值为0。

i = i + 1 'i的值为1。
next i    '此时i的值为1+1,也就是2。

以此类推。
vb_music
学分:0 LV1
2011-03-04
4L
你好:
    这个循环里边有一个i = i + 1,for i=0 to 10 的步长是1,加上里边的i=i+1相当与步长为2.
所以是0+2+4+6+8+10=30;
wuyuan0574
学分:0 LV1
TA的每日心情
开心
2022-12-28 11:47:55
2011-03-05
5L
Private Sub Command1_Click()
  Dim i As Integer
  Dim s As Integer
   For i = 0 To 10
    i = i + 1
    s = s + i
    
   Next i
   Label1.Caption = s
End Sub
那这个代码运行以后为什么显示是36而不是30啊,i = i + 1与s = s + i他们顺序换了为什么会不一样的结果啊这怎么理解啊
vb_music
学分:0 LV1
2011-03-08
6L
你好:
    调换顺序之后每次加在s的值不同,结果当然不同。i在加1之前和加1之后放在s里边能一样么。一共是6个数相加,差了6个1,所以是30和36之差。
首页上一页 1 下一页尾页 6 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照