某人为计算n!(0<n<=12)编写了下面的函数过程:
Private Function fun(n As Integer)As Long
Dim P As Long
p=1
For k=n-1 To 2 Step-1
p=p*k
Next k
fun=P
End Function
在调试时发现该函数过程产生的结果是错误的,程序需要修改。下面的修改方案中有3种是正确的,错误的方案是()。
A.把P=1改为P=n
B.把For k=n-1 To 2 Step-1改为For k=1 To n-1
C.把For k=n-1 To 2 Step-1改为For k=1 To n
D.把For k=n-1 To 2 Step-1改为For k=2 To n
参考答案:B
解析:
原程序的错误在于没有把n的值乘进去。而B选项中把For k=n-1 To 2 Step-1改为Fork=1 To n-1,依然没有把n乘进去。