问题 单项选择题

为计算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^n
C.把For k=1 T0 n改为For k=1 To n-1
D.把p=a改为p=1

答案

参考答案:B

解析: 本题函数power(a,n)的功能是要返回n个a相乘的值。而源程序中返回的是(n+1)个a相乘的值,解决问题的方法可以是,将P的初值设置为1或将循环变量的取值范围设定为1~n-1(或2~n)。

选择题
单项选择题