VB题目:关于循环赋值问题
fori=1to3forj=1toifork=jto3a=a+1nextknextjnexti循环的结果为什么是14而不是3执行完I=1之后执行I=2时a不是重新赋值=0...
for i =1 to 3 for j = 1 to i for k = j to 3 a = a+1 next k next j next i 循环的结果为什么是14而不是3 执行完I=1 之后执行I=2时a不是重新赋值=0了嘛 为什么有的题目重新赋值了 有的却不用呢
展开
1个回答
展开全部
做如下次数循环
1、i=1,j=1时
k从1-3,a做3次加
2、当i=2时,j变量循环2次,从1-2
j=1,k从1-3,a做3次加;
j=2,k从2-3,a做2次加
3、当i=3时,j从1到3循环三次
j=1,a做3次加
j=2,a做2次加
j=3,a做1次加
以上,总共做了14次加。
所以,如果a初始化数值是0时候,本循环结果是14。
因为这些变量都在一个作用域下的,都在一个方法或函数里的,所以并没有重新初始化,所以结果是累积的。
====
Static是定义静态变量和数组变量,Dim定义的叫自动变量。
Static定义的变量,每次引用它时,变量的值会继续保留;而Dim定义的变量,每次引用它时,则会重新赋值。
1、i=1,j=1时
k从1-3,a做3次加
2、当i=2时,j变量循环2次,从1-2
j=1,k从1-3,a做3次加;
j=2,k从2-3,a做2次加
3、当i=3时,j从1到3循环三次
j=1,a做3次加
j=2,a做2次加
j=3,a做1次加
以上,总共做了14次加。
所以,如果a初始化数值是0时候,本循环结果是14。
因为这些变量都在一个作用域下的,都在一个方法或函数里的,所以并没有重新初始化,所以结果是累积的。
====
Static是定义静态变量和数组变量,Dim定义的叫自动变量。
Static定义的变量,每次引用它时,变量的值会继续保留;而Dim定义的变量,每次引用它时,则会重新赋值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询