痛苦啊,看上去象是做作业.
Private Sub XXX(ByRef Ret As Long, ByVal N As Long)
Dim i As Long
Ret= 1;
For i= N to 2
Ret= Ret * i
Next i
End SubPrivate Function XXX(ByVal N As Long) As Long
Dim i As Long
XXX= 1
For i= N to 2
XXX= XXX * i
Next i
End SubPrivate Function Fibonacci(ByVal N As Long)
If N= 1 Then
Fibonacci= 0
ElseIf N= 0 Then
Fibonacci= 1
ElseIf N>= 2
Fibonacci= Fibonacci(N - 1) + Fibonacci(N - 2)
Else
Fibonacci= -1
End if
End Function
没有运行过,出了错请原谅
Private Sub XXX(ByRef Ret As Long, ByVal N As Long)
Dim i As Long
Ret= 1;
For i= N to 2
Ret= Ret * i
Next i
End SubPrivate Function XXX(ByVal N As Long) As Long
Dim i As Long
XXX= 1
For i= N to 2
XXX= XXX * i
Next i
End SubPrivate Function Fibonacci(ByVal N As Long)
If N= 1 Then
Fibonacci= 0
ElseIf N= 0 Then
Fibonacci= 1
ElseIf N>= 2
Fibonacci= Fibonacci(N - 1) + Fibonacci(N - 2)
Else
Fibonacci= -1
End if
End Function
没有运行过,出了错请原谅
call getvalue(B,b1)
call getvalue(C,c1)S=a1+b1+c1sub getvalue(vname as integer,byref vv as integer)
dim i as integer
vv=1
for i=1 to vname
vv=vv*i
next i
end sub你如果用fuction的话
改成它就可能啦,
function getvalue(vname as integer,byref vv as integer)
dim i as integer
vv=1
for i=1 to vname
vv=vv*i
next i
end function
Dim a As Integer
a = getvalue(6)
Text1.Text = a
End SubFunction getvalue(vname As Integer)
Dim i As Integer
If vname = 1 Then
getvalue = 0
Exit Function
End If
If vname = 2 Then
getvalue = 1
Exit Function
End If
getvalue = getvalue(vname - 1) + getvalue(vname - 2)
End Function
byval前缀表示参数据是按值传递