永发信息网

VB中怎么调用其他Sub中的数组

答案:2  悬赏:50  手机版
解决时间 2021-03-09 13:21
  • 提问者网友:蓝琪梦莎
  • 2021-03-08 22:50
Private Sub kaishi_Click()
Cls
Static card(1 To 2, 1 To 5) As Integer
Static num(1 To 13) As Integer
Static x(1 To 13) As Integer
Static n, m, i, j As Integer
For n = 1 To 13
num(n) = n
Next n
For i = 1 To 2
For j = 1 To 5
Do
card(i, j) = num(Int(Rnd * 13 + 1))
x(card(i, j)) = x(card(i, j)) + 1
If x(card(i, j)) > 4 Then
card(i, j) = 0
End If
Loop While card(i, j) = 0
Next j
Next i

在Private Sub Command4_Click()中怎么调用上面的card(2,5)?
最佳答案
  • 五星知识达人网友:夜风逐马
  • 2021-03-08 23:18
card只是一个局部的数组变量而已~虽然用Static来声明其静态变量 保存变量的值 但也只能是该kaishi_Click中使用
若要其他过程调用 就得将声明放在 代码窗体的最上方 或者标准模块中 使其成为全局变量
全部回答
  • 1楼网友:纵马山川剑自提
  • 2021-03-09 00:56
楼主要理解这是一个递归调用 递归调用的特点是可以用一个英文字母来表示v 具体解释如下 程序首先调用的test(3) 在 test过程里 if x<>0 then call test(x-1) 满足条件3<>0 这里程序继续向v的底部走调用test(x-1)即test(2) 如此继续一直到test(0) 这个时候程序已经经历了4层的递归 由于这个时候x<>0的条件已经不满足了,所以要返回上一层,就是test(1) 所在的层次 然后执行 for i=1 to 1 printx; next print 也就是楼主的第一行是1的原因 然后程序继续往回推到倒数第二test(2) 你程序第二行输出应该是 2 2 到这里楼主该知道第三行为什么是三个3了吧 如果还不明白,楼主可以hi我,呵呵
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯