某人为计算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