VB 过程调用 问题
Subproc(a()AsInteger)StaticiAsIntegerDoa(i)=a(i)+a(i+1)i=i+1Loopwhilei<2EndsubPrivate...
Sub proc(a() As Integer)
Static i As Integer
Do
a(i)=a(i)+a(i+1)
i=i+1
Loop while i<2
End sub
Private Sub Form_click()
Dim m,i,x(10) As Integer
For i=0 To 4:x(i)=i+1:Next i
For i=1 To 2:call proc(x):Next i
For i=o To 4:Print x(i):Next i
End sub
最后结果是3 5 7 4 5
我不知道两个过程里的i是怎么回事 是对应的吗 本人新手 麻烦解答!!详解! 展开
Static i As Integer
Do
a(i)=a(i)+a(i+1)
i=i+1
Loop while i<2
End sub
Private Sub Form_click()
Dim m,i,x(10) As Integer
For i=0 To 4:x(i)=i+1:Next i
For i=1 To 2:call proc(x):Next i
For i=o To 4:Print x(i):Next i
End sub
最后结果是3 5 7 4 5
我不知道两个过程里的i是怎么回事 是对应的吗 本人新手 麻烦解答!!详解! 展开
展开全部
应该注意到两个过程中对i的定义方式是不一样的,第一个是用的static。第二个是用dim。了解一下两种定义方式的不同。
static语句声明的变量,与dim语句声明的变量的主要区别是:前者只能在sub或function过程中使用,在退出sub或function过程后变量的值保留;后者使用在sub或function过程中时,退出sub或function过程后变量的值不保留
static语句声明的变量,与dim语句声明的变量的主要区别是:前者只能在sub或function过程中使用,在退出sub或function过程后变量的值保留;后者使用在sub或function过程中时,退出sub或function过程后变量的值不保留
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是传递的参数。。。
追问
上面的I和下面的I是一样吗
追答
把i传进去了 就会执行Sub proc(a() As Integer 里面的 操作 调用完之后 i 的值就变了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询