永发信息网

VB中的动态数组问题

答案:3  悬赏:30  手机版
解决时间 2021-05-14 03:35
  • 提问者网友:我的未来我做主
  • 2021-05-13 03:24

option base1

dim arr() as integer

private sub form-click()

dim i as ingeter,j as ingeter

redim arr(4,3)

for i=1to4

for j=1to3

arr(i,j)=i*2+j

next j

next i

redim preserve arr(4,5)

for j=3to5

arr(4,j)=j+9

next j

print arr(4,3)+arr(4,5)

end sub

程序运行后,单击窗体,输出结果为

书上的答案是26,我怎么算出来是25呀,请各位大侠指教,我刚学,请把过程说详细一点,谢

 

 

最佳答案
  • 五星知识达人网友:掌灯师
  • 2021-05-13 03:38
print arr(4,3)+arr(4,5)输出的结果应是

redim preserve arr(4,5)


for j=3to5


arr(4,j)=j+9


next j


print arr(4,3)+arr(4,5)


end sub这个循环中的arr(4,3)+arr(4,5)这里的arr(4,3)=12,arr(4,5)=14所以得26,不是上面循环中的arr(4,3)=11,数组元素重复,所以选最新的。

全部回答
  • 1楼网友:痴妹与他
  • 2021-05-13 05:43

我刚才测试了一下你的代码,答安是26,上面主要是动态数组的应用。

我只要分析下面一段代码就可以了。

redim preserve arr(4,5)    '''这一行从重定义数组

for j=3 to 5    ''''''For循环 j从3到5

'''当j=3时,这时arr(4,j)=j+9等价于arr(4,3)=3+9 ======>得出结果arr(4,3)=12

'''当j=4时,这时arr(4,j)=j+9等价于arr(4,4)=4+9=======>得出结果arr(4,4)=13

'''当j=5时,这时arr(4,j)=j+9等价于arr(4,4)=5+9=======>得出结果arr(4,4)=14

'''以上三行是循环给数组赋值的过程

arr(4,j)=j+9

next j

print arr(4,3)+arr(4,5)    '''''打印结果arr(4,3)是12,arr(4,5)是14,最后结果26

''以上回答如果有错误和疑问,请提出和追问!

  • 2楼网友:持酒劝斜阳
  • 2021-05-13 04:06
书中也有错的,哈哈``
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯