vb程序出现 实时错误 6 什么意思

Subjiecheng(n)DimiAsIntegerDimsAsIntegers=1i=1Fori=1Tons=s*i-------------此行提示实时错误6Nex... Sub jiecheng(n)
Dim i As Integer
Dim s As Integer
s = 1
i = 1
For i = 1 To n
s = s * i -------------此行提示实时错误 6
Next i

Text1.Text = s

End Sub

Private Sub Command1_Click()
Call jiecheng(5)

End Sub

Private Sub Command2_Click()
Call jiecheng(9)
End Sub

Private Sub Command3_Click()
Call jiecheng(12)
End Sub
展开
 我来答
cwa9958
2010-04-12 · TA获得超过1885个赞
知道大有可为答主
回答量:2504
采纳率:0%
帮助的人:2014万
展开全部
运算溢出,
计算阶乘,要定义为 双精度型,double

Sub jiecheng(n) as double
Dim i As Integer
Dim s As double
s = 1
For i = 1 To n
s = s * i
Next i

jiecheng = s

End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yfv2000
2010-04-12 · TA获得超过194个赞
知道小有建树答主
回答量:238
采纳率:0%
帮助的人:264万
展开全部
整数型(Integer)最大到65535,而Command2_Click()和Command3_Click()两个事件的运算结果超出最大值了.
建议变量定义为单精度型
Dim i As Single
Dim s As Single
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
296224229
2010-04-12 · TA获得超过273个赞
知道小有建树答主
回答量:214
采纳率:0%
帮助的人:0
展开全部
Sub jiecheng(n As Integer)
Dim i As Integer
Dim s As Double
s = 1
i = 1
For i = 1 To n
s = s * i
Next i
Text1.Text = s
End Sub

Private Sub Command1_Click()
Call jiecheng(5)

End Sub

Private Sub Command2_Click()
Call jiecheng(9)
End Sub

Private Sub Command3_Click()
Call jiecheng(12)
End Sub

9的阶乘是:362880
12的阶乘是:479001600
它们都超出了Integer(整型变量的范围)
所以提示实时错误 6(溢出)

所以可以定义s变量为double(双精度类型)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
unibbs
2010-04-12 · TA获得超过487个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:77.6万
展开全部
我要回答的和yfv2000一样。你可以
Dim i As Integer
Dim s As Long

数值会大一些
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
电影讲谈社
2010-04-12 · TA获得超过1.2万个赞
知道大有可为答主
回答量:3994
采纳率:40%
帮助的人:2086万
展开全部
n的值从哪来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式