Private Sub Command1_Click()
Dim num As Long
num = CLng(txtNum.Text)
Call factorial(num)
End SubPrivate Sub Form_Load()
txtNum.Text = ""
txtFactorial.Text = ""
End SubPrivate Sub txtNum_Change()
txtFactorial.Text = ""
End SubPrivate Sub factorial(mum As Long)
Dim result As Long
Dim ptr As Long
result = 1
For ptr = 1 To num
result = result * ptr
Next ptr
txtFactorial.Text = CStr(result)
End Sub
Dim num As Long
num = CLng(txtNum.Text)
Call factorial(num)
End SubPrivate Sub Form_Load()
txtNum.Text = ""
txtFactorial.Text = ""
End SubPrivate Sub txtNum_Change()
txtFactorial.Text = ""
End SubPrivate Sub factorial(mum As Long)
Dim result As Long
Dim ptr As Long
result = 1
For ptr = 1 To num
result = result * ptr
Next ptr
txtFactorial.Text = CStr(result)
End Sub
建议在模块前加Option Explicit,或者通过工具菜单的选项子菜单
将“编辑”页中的强制声明变量选择项选中,就不至于犯这种错误了
Private Sub factorial(mum As Long)
Dim result As Long
Dim ptr As Long
result = 1
'问题所在--mum拼写成了num
'For ptr = 1 To num
For ptr = 1 To mum
result = result * ptr
Next ptr
txtFactorial.Text = CStr(result)
End Sub但是你这样求阶乘,真是问题多多,多的无法形容,建议看看数据结构和算法