VB的函数返回值问题

2025-03-01 22:52:07
推荐回答(3个)
回答1:

  你这个函数只可能返回一个值0。因为你没有给aaa赋什么值,其默认值为0。

 

  一般来说,函数中的值是否返回是由编程者来决定的。如果返回a的值,则作以下更改:

Private Function aaa() As Integer
Dim a, b As Integer
a=1
b=2 
aaa=a '添加这条语句,返回a
End Function

  要返回多个值一般通过自定义数据类型来实现。如下例定义了有两个子项的自定义数据类型,可以返回两个值。(你定义了几个子项就可以返回几个)

 

  VB6新建一工程,在窗体上拖入一个按钮控件,然后进入代码区,删除所有代码后,粘贴以下代码即可。

Option Explicit
Private Type ABC '自定义数据类型ABC,内有两小项x,y
      x As Long
      y As Long
End Type
Private Sub Command1_Click()
 Dim k As ABC
 k = aaa(5, 6) '调用函数
 Print k.x, k.y '将两个返回值打印到窗体上
End Sub
Private Function aaa(a As Integer, b As Integer) As ABC
  aaa.x = a * 10 '函数的第一个返回值
  aaa.y = b * 100 '函数的第二个返回值
End Function

  效果图:

 

  还有一种方式,不太好理解,这里不示例了。

回答2:

VB的自定义函数也就是自己根据自己的需求编制一个符合自己格式的函数
自定义函数一般都是把许多VB自带的函数编制一个符合自己需要的函数
例如制作一个辨别一个数是否为素数的函数
工具-添加过程-单选函数项
我输入的函数名为:ssif
格式为 只有一个参数为整型
是素数返回真 不是返回假

Public Function ssif(Nos As Integer) As Boolean
For i = 2 To Nos
If Nos Mod i = 0 Then
ssif = False
Exit For
End If
Next i
ssif = True
End Function

回答3:

该函数没有返回值,只是做一些特定运算。