请计算并解释下面VB 程序

来源:百度知道 编辑:UC知道 时间:2024/05/17 08:52:56
Dim i As Integer, j As Integer, k As Integer, h As Integer
Private Sub Form_Click()
i = 0: j = 1: k = 2
Call q(1, i): Print i; j; k,
Call q(2, j): Print i; j; k,
Call q(3, k): Print i; j; k,
End Sub

Private Sub p(i)
i = i + 1: Print i; j; k,

End Sub

Private Sub q(ByVal h, j)
i = j
If h = 0 Then
Call p(i)
Else
If h = 1 Then Call p(j) Else j = j + 1
End If
End Sub'答案为 112,112,122,223
希望能给出计算过程或步骤

你按F8 然后点击窗体 继续点F8 就知道代码是如何执行的了。。

Private Sub q(ByVal h, j)
像这个~h参数前有加byval 就不会改变引用变量的值 j就会。
Dim i As Integer, j As Integer, k As Integer, h As Integer
Private Sub Form_Click()
i = 0: j = 1: k = 2 '给变量赋值
Call q(1, i) '调用自定义过程p
Print i; j; k
Call q(2, j)
Print i; j; k
Call q(3, k)
Print i; j; k
End Sub
Private Sub p(i)
i = i + 1
Print i; j; k,
End Sub

Private Sub q(ByVal h, j)
i = j
If h = 0 Then '如果第一个参数为0 则调用p这个过程
Call p(i)
Else
If h = 1 Then Call p(j) Else j = j + 1 '不为0 则判断h如果等于1 则调用P这个过程 否则j自身加一
End If
End Sub

其他觉得没什么好解释的。。