哪位帮我解释一下这段程序。

[复制链接]
查看11 | 回复2 | 2011-3-4 12:26:40 | 显示全部楼层 |阅读模式
Option Base 1
Private Sub Command1_Click()
Dim a
a = Array(1, 1, 1, 1)
Call sub1(a, 4)
For i = 1 To 4

Print a(i)

Next i
End Sub
Private Sub sub1(x, n)

If n > 1 Then

For i = 1 To n

x(n) = x(n) + 1

Call sub1(x, n - 1)

Next i
End If
End Sub

回复

使用道具 举报

千问 | 2011-3-4 12:26:40 | 显示全部楼层
Option Base 1Private Sub Command1_Click() //定义函数 Dim a //定义变量 a = Array(1, 1, 1, 1) //数组赋值 Call sub1(a, 4)
For i = 1 To 4//循环
Print a(i)//输出
Next i//循环指向下一次End Sub//函数结束Private Sub sub1(x, n)//新函数
If n > 1 Then//判断
For i = 1 To n//循环
x(n) = x(n) + 1//变量加1
Call sub1(x
回复

使用道具 举报

千问 | 2011-3-4 12:26:40 | 显示全部楼层
在第三行call sub1(a,4)调用程序sub1(x,n)并且将a传给x,4传给n判断4>1 然后i=1执行a(4)=a(4)+1循环回去i=2执行a(4)=a(4)+1直到i=4又执行a(4)=a(4)+1 此时a(4)=5call sub1(x,n-1) 又调用程序sub1将a传给x,3传给na(3)=a(3)+1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行