请帮忙 解决一下这道VB编程题?

来源:百度知道 编辑:UC知道 时间:2024/05/18 07:58:41
是书上的一道题,已经给出了代码答案,但具体怎么做啊?
不明白这到题是什么意思?
"用FOR循环编写程序计算1*2*3*....*100.当乘积大于32767时停止累乘.
但是我做文完后竖着一直显示40320....直到溢出...为什么?
Private Sub command1_click()
Dim i As Integer, f As Long
f = 1
For i = 1 To 1000
f = f * i
If f > 32767 Then Exit For
Next
Print f

End Sub

把你写的FOR循环贴出来看

你原来的代码
Private Sub command1_click()
Dim i As Integer, f As Long
f = 1
For i = 1 To 1000
f = f * i ’循环到临界,也就是8的时候,这里f的值已经为40320
If f > 32767 Then Exit For ‘即使退出了FOR循环,f的值还是40320
Next
Print f ’所以这里输出的时候f的值为40320

End Sub

Private Sub command1_click()
Dim i As Integer, f As Long
f = 1
For i = 1 To 1000
f = f * i
If f < 32767 Then Print f Else Exit Sub
Next
End Sub

Private Sub command1_click()
Dim i As Integer, f As Long ,k As Long
f = 1
k = 1
For i = 1 To 1000
k = f
f = f * i
If f > 32767 Then Exit For
Next
Print k

End Sub
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

Private Sub command1_click()
Dim i As Integer, f As Long ,k As Long
f = 1
k = 1
For i = 1 To 1000
k = f
f = f * i
If f > 32767 Then Exit For
Next
Print k

End Sub