| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 209 人关注过本帖
标题:关于循环嵌套的问题 初级问题请勿见笑 学习中
收藏  订阅  推荐  打印 
allanwu244
Rank: 2
等级:注册会员
帖子:41
积分:506
注册:2007-7-24
关于循环嵌套的问题 初级问题请勿见笑 学习中

dim a as integer,i as integer,j as integer
a = 0
for i = 1 to 5
  for j = -2 to 2
     a = a + i + j
   next j
   print a;
next i
print
print i, j, a,
该段程序运行的结果是:5 15 30 50 75
                     5        3       75
我的理解是:当 i =1 时
              执行 a = a + i + j
即: a = 0 + 1 + (-2) = -1
然后得到 :a = -1 赋值给 a
继续 : a = -1 + 1 + (-1) = -1
        a = -1 + 1 + (0) = 0
        a = 0 + 1 + (1)= 2
        a = 2 + 1 + (2) = 5
当 i = 2 时
   a = 0 + 2 + (-2) = 0
   a = 0 + 2 + (-1) = 1
   a = 1 + 2 + 0 = 3
   a = 3 + 2 + 1 = 6
   a = 6 + 2 + 2 = 10
当 i = 3 时
a = 0 + 3 + (-2) = 1
a = 1 + 3 + (-1) = 3
a = 3 + 3 + (0) = 6
a = 6 + 3 + (1) = 8
a = 8 + 3 + (2) = 13
  ...........
以此类推
请问它是怎样得到  5 15 30 50 75
                      5        3       75  的
也就是说具体的循环过程是怎样的 我知道我的解释肯定是错的 正确的应该如何循环
搜索更多相关主题的帖子: 嵌套  见笑  初级  学习  
2008-9-4 19:01
multiple1902
Rank: 12Rank: 12Rank: 12
等级:版主
威望:40
帖子:4479
积分:45682
注册:2007-2-9

调试。

“高考”这个词在耳边不断萦绕,心中的激动不言而喻。写下一句话,一起努力。Let's struggle together.
2008-9-4 19:45
lzxy3000
Rank: 1
等级:新手上路
帖子:5
积分:196
注册:2008-8-6

当i=2时,a的初始值为5
而且对与第二个循环没什么意义,直接a=a+5*i

[ 本帖最后由 lzxy3000 于 2008-9-4 21:08 编辑 ]
2008-9-4 21:06
allanwu244
Rank: 2
等级:注册会员
帖子:41
积分:506
注册:2007-7-24
回复 3# lzxy3000 的帖子

是的 谢谢您的帮助 我现在刚搞懂 当i=2时,a的初始值为5 j的循环好象总是 0 (-2 + -1 + 0 + 1 + 2 )
第二个问题还没搞懂                                                                                    next j
   print a;
next i
print
print i, j, a,
如果第一个print a; 是输出 a  那么第二个print i, j, a, 是怎样输出的呢 为什么结果是 6     3      75
也就是说 next j 和 next i 之间的 print a; 以及 next i 后面的 print i, j, a, 有什么区别
                                                                   谢谢占用了您宝贵的时间
2008-9-4 23:18
allanwu244
Rank: 2
等级:注册会员
帖子:41
积分:506
注册:2007-7-24
回复 2# multiple1902 的帖子

哦 我搞懂了 print i, j, a, 是循环退出后 分别 print i ,j, a 它们的值
2008-9-4 23:52
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.055153 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved