Private Sub Command1_Click()
Dim i As Integer
Dim j As Integer
Dim s As Integer
s = 1
i = Val(InputBox("请您输入一个1到100以内的整数"))
For j = 1 To i
s = s * j
Next j
Print i & "的阶乘等于" & s
End Sub
为什么输入9之后会有溢出问题?怎么改
Integer 变量存储为 16位(2 个字节)的数值形式,其范围为
-32,768 到 32,767 之间,8的阶乘为40320,所以不到9就已经溢出了,
Long(长整型)变量存储为 32 位(4 个字节)有符号的数值形式,其范围从
-2,147,483,648 到 2,147,483,647,也不适合,所以s可以设为变体类型
用自定义吧:
LONG也要出错!下面这个可以
Private Sub Command1_Click()