private sub command1_click()
dim ar(3) as integer
for i=1 to 3
for j=1 to 3
arr(j)=arr(i) + 1
next j
next i
print arr(3)
end sub
答案是5,为什么啊。。给我解释一下行吗。。很急啊。。
private sub command1_click()
dim ar(3) as integer
for i=1 to 3
for j=1 to 3
arr(j)=arr(i) + 1
next j
next i
print arr(3)
end sub
答案是5,为什么啊。。给我解释一下行吗。。很急啊。。
private sub command1_click() '当单击按钮的时候执行此函数
dim ar(3) as integer '定义一个整型数组,维数为4,a(0),a(1),a(2),a(3),a(0)通常不用,如果没有额外的对它赋值,则系统默认给它们赋值为0
for i=1 to 3 '对i=1 到3循环,也就是执行3次下面的过程
for j=1 to 3 '对j=1到3循环,也是执行3次下面的过程,不过要先执行完j再执行i
arr(j)=arr(i) + 1 '此处的arr应该为ar吧,不然显示没有定义,当i=1时执行的for j=1 to 3中完成了这个任务:arr(1)=arr(1)+1=1,arr(2)=arr(1)+1=2,arr(3)=arr(1)+1=2;当i=1时执行的for j=1 to 3中完成了这个任务:arr(1)=arr(2)+1=3,arr(2)=arr(2)+1=4,arr(3)=arr(2)+1=4;当i=3时执行的for j=1 to 3中完成了这个任务:arr(1)=arr(3)+1=5,arr(2)=arr(3)+1=5,arr(3)=arr(3)+1=5。此时i=3了for i=1 to 3循环结束,所有循环完毕
next j
next i
print arr(3) '输出ar(3)的值
end sub
一看就知道你根本没上课。
arr(1)~arr(3)的初始值是0,0,0
两重的for..next循环过程,arr数组的三个元素发生了如下的变化:
i=1,arr(1)~arr(3)=1,2,2
i=2,arr(1)~arr(3)=3,4,4
i=3,arr(1)~arr(3)=5,5,5
那么arr(3)就是5。
private sub command1_click()
dim ar(3) as integer'定义数组
for i=1 to 3'外循环
for j=1 to 3'内循环
arr(j)=arr(i) + 1'执行一次外循环就意味着执行三次内循环
第一次内循环结束时a(3)=2
第二次内循环结束时a(3)=4第三次内循环结束时a(3)=5
那要看清楚是a(j)=a(i)+1不是a(j)=a(j)+1或a(i)=a(i)+1
next j
next i
print arr(3)
end sub