Private Sub half(a() As String, ByVal key As String, num As Long) '
a()对象是一个字符数组 byval key是一个以值传递的字符串,num不用说了
begin = LBound(a) 这里指的是数组a的上标=0
finish = UBound(a) 下标如 a(0 to 5) 那么LBound(a)=0 , UBound(a)=5长度等于 UBound(a)-LBound(a)+1
不需要传那么多参数,这样传过去就可以了
Call half(num(), findstr, n)
为了方便叙述,对各行分别编号:
1、Function fun(By Val num As Long) As Long
2、Dim k As Long
3、k=1
4、num= Abs(num)
5、Do While num
6、k = k *(num Mod 10)
7、num= num\ 10
8、Loop
9、fun = k
10、End Function
11、Private Sub Command1_Click()
12、Dim n, r As Long
13、n = InputBox("请输入一个数:")
14、n = CLng(n)
15、r = fun(n)
16、print r
17、End Sub
执行顺序为
11
12
13 这里n是一个字符串。n=“234”
14 将这个字符串转换成长整形数,还存放在n里。n=234
15 调用fun函数
1 num=234
2
3 k=1
4 num取绝对值。num=234
5
6 k=1*(234 mod 10)=1*4=4
7 num=num\10=234\10=23
8
5
6 k=4*(23 mod 10)=4*3=12
7 num=23\10=2
8
5
6 k=12*(2 mod 10)=12*2=24
7 num=2\10=0
8
5 因为num=0,所以
9 fun=k=24
10
15 r=fun=24
16 输出 r
17
所以,输出结果是24