VB的运算结果

来源:百度知道 编辑:UC知道 时间:2024/05/10 12:58:02
Private x As Integer
Private Sub Command1_Click()
x = 5: y = 3
Call prod(x, y)
Label1.Caption = x
Label2.Caption = y
End Sub
Private Sub prod(ByVal a As Integer, ByVal b As Integer)
x = a * a
y = b + b
End Sub
两个标签中结果为什么是25和3而不是25和6啊

哥们一看你就是初学者,Private Sub prod(ByVal a As Integer, ByVal b As Integer) 这个函数的参数为按值传递,不改变传递变量的值
x的值之所以会改变是因为x是模块级变量,是全局的
如果你这样写就会变了
Private x As Integer
Private y as Integer
Private Sub Command1_Click()
x = 5: y = 3
Call prod(x, y)
Label1.Caption = x
Label2.Caption = y
End Sub
Private Sub prod(ByVal a As Integer, ByVal b As Integer)
x = a * a
y = b + b
End Sub