我喜欢国家会计学院的社区
小木虫很不错的
就是啊,谁知道请告诉我们
-------Dim arr() As Byte 语句只是一个类型声明,并没有声明arr数组的元素个数,所以并没有实际开辟数组存储空间,后面用到的时候,就没有办法想数组写入内容。这就是错误的实质所在。知道了错误是如何产生的,就好办了。因为最初我们并不知道这个数组有多少元素,即元素个数是动态的,取决于temp的长度,所以只能动态声明。所以,我们需要在正式使用前用redim语句声明arr数组元素的的范围就成了。我们可以看到程序中的n就是数组元素的元素个数-1,而我们的数组下标是从0开始,最大下标正好是n,所以在计算得到n之后,,在循环使用之前使用redim重新声明即可。即:在n = Len(temp) \ 2 - 1语句和For i = 0 To n语句之间插入一行redim arr(n)就好了