vb的问题..唉

来源:百度知道 编辑:UC知道 时间:2024/05/04 17:29:12
21. 执行下列程序,窗体显示内容第一行是_______,第二行是______。
Private Sub Form_Click()
Dim m As Integer, n As Integer, f As Integer
m = 100: n = 50
Call vsty(m, n, f)
f = m + n
Print f
End Sub
Sub vsty(m As Integer, n As Integer, f As Integer)
m = Sqr(m)
n = n * 2
f = m +n
Print m; n; f
End Sub

要过程说明..我白痴
为什么先打印m n f
后打印f
呢?

Private Sub Form_Click()
Dim m As Integer, n As Integer, f As Integer
m = 100: n = 50 '
Call vsty(m, n, f) '把三个变量传到子过程中进行运算。
f = m + n ‘把运算结束后m和n的值相加,再赋值给f,于是f=110
Print f '再打印f
End Sub
Sub vsty(m As Integer, n As Integer, f As Integer) '子过程
m = Sqr(m) '第一个数100开方,结果是10
n = n * 2 '第二个数50乘以2,结果是100
f = m +n '把前两个结果相加,放在第三个数上,结果是110
Print m; n; f '打印三个数10 100 110
End Sub
所以,第一行是10 100 110,第二行是 110

Print f是在call的后面,自然要先执行call,但在call的内部就有一个打印,自然要先打印call内部的,再打印call外面的。

没有任何错误啊,本人通过vb6.0测试

第一行是10 100 110,第二行是 110