VB for…next嵌套循环问题

fori=1to3forj=1toia=a+1nextjnexti最后答案写的是6,我就是觉得是3,我进入了一个死胡同,就是反应不过来我认为:当i=1时,j=1,a=0+... for i=1 to 3
for j=1 to i
a=a+1
next j
next i
最后答案写的是6,我就是觉得是3,我进入了一个死胡同,就是反应不过来
我认为:当i=1时,j=1,a=0+1=1。 当i=2时,j=1 to 2,j=1时,a=a+1=0+1=1(就觉得这个时候的a还是等于0+1,跟之前的a=1没有关系,a不等于1+1!)我在这个想法里出不来了,觉得每当 i =一个数 的时候,跟前一个i 求出来的结果没有关系。。。
不知道听没听懂我的意思,到底这个嵌套循环内外的关系是怎么样的?
求帮忙!!!
展开
 我来答
bz144
2017-10-16 · TA获得超过1825个赞
知道小有建树答主
回答量:1096
采纳率:89%
帮助的人:269万
展开全部
a作为一个变量,是应该赋初值的。你上面一段程序中a没有赋值,假设为0。作为变量,它的值在运行过程中是一直有效的。通俗的讲,变量好比是一个容器,你在i=1的循环过程中已经把1放入,在i=2时,在原先的基础上又放入一个1,你中间没有清除“容器”中原有的1,肯定是要加一个的(结果为2)。其实,这就是一个变量的作用范围的问题。定义变量后,在本段程序过程一直有效。另外,按照变量作用域,可以将变量定义为全局变量和局部变量,全局变量整个程序有效,局部变量只在定义的过程有效。
再有,如果结果为3,你嵌套又有何意义,只用i变量循环3次就可以了。
阳光的雷咩咩
推荐于2017-10-16 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7771万
展开全部
                '加这句你就明白了
                MsgBox("i=" & i & " j=" & j)
                a = a + 1
追问
加到哪里呢?我把你写的这个替换了a=a+1,但是运行了以后是显示一个信息框:i=1,j=1;i=2,j=1;i=2,j=2………………还是不明白,他没显示i=1,j=1时a=几。
追答
a是在for循环外部声明的,因此后面就永远用的是同一个变量了,不断累加。你可以试试在for循环内声明a,结果又不一样。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式