问题 单项选择题

某人为计算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
在调试时发现该函数过程产生的结果是错误的,程序需要修改。下列的修改方案中有三种是正确的,错误的方案是

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 2 To n

答案

参考答案:B

解析: 题目要求计算n!,而n!=1*2*3*…*(n-1)*n,B选项没有乘n,所以本题的答案为B。

选择题
单项选择题