问题 单项选择题

为计算an的值,某人编写了函数power如下:
Private Function power(a As Integer, n As Integer) As Long
Dim p As Long
p=a
For k=1 To n
p=p*a
Next k
power=p
End Function
在调试时发现是错误的,例如Print power(5, 4)的输出应该是625,但实际输出是3125,程序需要修改。下面的修改方案中有3个是正确的,错误的是

A)把For k=1 To n改为For k=2 to n B)把p=p*a改为p=p^nC)把For k=1 To n改为For k=1 To n-1 D)把p=a改为p=1

答案

参考答案:B

解析: 题目未达到要求的原因是:p的初值设为a,然后再循环n次,每次循环的操作是p=p*a,实际上的结果变成了an+1,所以A、C减少了一次循环,选项D把P的初值改为1,都是正确的修改。如果按选项B的方法把“p=p*a”改为“p=p^n”,则不需要for循环就可算出an,否则计算的结果就是a的nn次方。

多项选择题
单项选择题