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)?
VB中怎么调用其他Sub中的数组
答案:2 悬赏:50 手机版
解决时间 2021-03-09 13:21
- 提问者网友:蓝琪梦莎
- 2021-03-08 22:50
最佳答案
- 五星知识达人网友:夜风逐马
- 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我,呵呵
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯