VB中的函数过程怎么调用??
函数(Function)过程的参数列表可不可以像C语言一样省略啊?如果有一个函数过程publicFunctionCaesarjia(a()asstring,b()asst...
函数(Function)过程的参数列表可不可以像C语言一样省略啊?
如果有一个函数过程public Function Caesarjia(a() as string,b() as string),那怎么在command1.click()中调用它,并要得到函数过程的结果呢?
函数过程可以调用其他的函数过程吗,如果可以怎么调用? 展开
如果有一个函数过程public Function Caesarjia(a() as string,b() as string),那怎么在command1.click()中调用它,并要得到函数过程的结果呢?
函数过程可以调用其他的函数过程吗,如果可以怎么调用? 展开
2个回答
推荐于2016-04-20 · 知道合伙人软件行家
关注
展开全部
1、调用的函数名和定义的函数名不一样应改为一致。
2、这是个递归函数,词句在不断的调用后,最终会使b(除数)为0。这样系统就会报错,应该在Maxmod()中添加一句当b=1时,让其退出函数。
修改后的函数如下:
Private Function Maxmod(ByVal a As Long, ByVal b As Long) _
As Long
If b = 1 Then
Exit Function
End If
Dim p As Long
p = a Mod b
If p = b Then
Maxmod = b
Else
Maxmod = Maxmod(b, p)
End If
End Function
Private Sub Command1_Click()
Dim a As Long
Dim b As Long
Dim answer As Long
a = Val(Text1.Text)
b = Val(Text2.Text)
answer = Maxmod(a, b)
Print answer
End Sub
2、这是个递归函数,词句在不断的调用后,最终会使b(除数)为0。这样系统就会报错,应该在Maxmod()中添加一句当b=1时,让其退出函数。
修改后的函数如下:
Private Function Maxmod(ByVal a As Long, ByVal b As Long) _
As Long
If b = 1 Then
Exit Function
End If
Dim p As Long
p = a Mod b
If p = b Then
Maxmod = b
Else
Maxmod = Maxmod(b, p)
End If
End Function
Private Sub Command1_Click()
Dim a As Long
Dim b As Long
Dim answer As Long
a = Val(Text1.Text)
b = Val(Text2.Text)
answer = Maxmod(a, b)
Print answer
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |