单选题 某人为计算n!(0<n<=12)编写了下面的函数过程:
Private Function fun(n As Integer)As Long
Dimp As Long
p=1
For k=n-1 To 2 Step-1
p=p*k
Nextk
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 Ton
  • 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改为For k=1 To n-1,依然没有把n乘进去。