vb 返回值 问题

来源:百度知道 编辑:UC知道 时间:2024/05/02 02:47:09
Private Sub Command1_Click()
Dim x, y, z As Integer
x = 5
y = 7
z = 0
Text1.Text = ""
Call p1(x, y, z)
Text1.Text = Str(z)
End Sub
Sub p1(a As Integer, b As Integer, c As Integer)
c = a + b
End Sub

文本显示:C=12,
不是说SUB是无返回值的吗?那SUB里面的内容应该运行了之后不返回给Z的啊。那应该还是等于0喽?
能不能举一个SUB无反回值的例子呢?谢谢大家

Sub p1(a As Integer, b As Integer, c As Integer)
c = a + b
End Sub这种有返回 是通过p1(x,y,z)的参数z返回的
function p1(a As Integer, b As Integer) as Integer
p1=a + b
end function
这个是function p1函数的返回值

Sub p1(a As Integer, b As Integer)
dim c as integer
c = a + b
End Sub
这个无返回

你的结果是参数带回去的,而不是SUB带回去的.
因为你在P1里用的是地址传递,所以,Z带回去值了.
这与SUB不带值回去并不矛盾.
参数是可以带值回去了.

Private Sub Command1_Click()
Call S_MSG
End Sub

Private Sub S_MSG()
MsgBox "yun"
End Sub
回答者:dl_会飞的青蛙 - 高级魔法师 七级 9-6 13:55