[单项选择题] 某人设计了下面的函数fun,功能是返回参数a中数值的位数。
Function fun(a As Integer) As Integer
Dim n%
n=1
While a10>=0
n=n+1:a=a10
Wend
fun=n
End Function
在调用该函数时发现返回的结果不正确,函数需要修改,下面的修改方案中正确的是______。
A. 把语句a10>=0改为a10<0
B. 把错句n=1改为n=0
C. 把语句a=a10改为a=a Mod 10
D. 把循环条件a10>=0改为a10>0
正确答案:D
参考解析:本题中返回参数a中数值的位数所使用的方法是:将变量a的值整除10(相当于小数点左移一位后取整数部分),如果结果大于0,用于记录数值位数的变量n的值就加1,n的初始值为1。将a10的值赋给a后,重复前面的操作。本题原程序中的循环条件a10>=0构成一个死循环,应改为a10>0。


![[单项选择题] 某人设计了下面的函数fun,功能是返回参数a中数值的位数。 Function fun(a As Integer) As Integer Dim n% n=1 While a10 [单项选择题] 某人设计了下面的函数fun,功能是返回参数a中数值的位数。 Function fun(a As Integer) As Integer Dim n% n=1 While a10](http://www.mshxw.com/aiimages/31/480867.png)
