
一个VB函数问题 麻烦来看看 帮帮忙呢
Functionfn(ByValnumAsLong)DimkAsLongk=1num=Abs(num)Dowhilenumk=k*(numMod10)num=num\10...
Function fn ( By Val num As Long)
Dim k As Long
k = 1
num = Abs(num)
Do while num
k = k * (num Mod 10)
num = num \ 10
Loop
fn = k
End Funcation
以下是一个调用函数的事件过程,在运行程序后,在对话框中输入数字"123",该过程运行的结果是( )
Private Sub Command5_Click()
Dim n As Long
Dim r As Long
n = Inputbox("请输入一个数值")
n = Clong(n)
r = fn(n)
print r
End sub
谢谢了 麻烦教我详细一点的
请问一下 第2次循环的时候 K 的初值不是又变成1了吗,它又不是静态变量 为什么可以保留上一次循环的结果呢 展开
Dim k As Long
k = 1
num = Abs(num)
Do while num
k = k * (num Mod 10)
num = num \ 10
Loop
fn = k
End Funcation
以下是一个调用函数的事件过程,在运行程序后,在对话框中输入数字"123",该过程运行的结果是( )
Private Sub Command5_Click()
Dim n As Long
Dim r As Long
n = Inputbox("请输入一个数值")
n = Clong(n)
r = fn(n)
print r
End sub
谢谢了 麻烦教我详细一点的
请问一下 第2次循环的时候 K 的初值不是又变成1了吗,它又不是静态变量 为什么可以保留上一次循环的结果呢 展开
2个回答
展开全部
运行结果是6
事件过程:先输入n的值(123),将n这个实参代入fn()函数:
fn()函数首先用abs()函数把n转换成绝对值,再进行循环,第一次循环结果:
k=3,num=12
第二次(最后一次)循环结果:
k=6,num=1
函数fn()的返回植就是k的值,r=fn(n)
再输出r的值:6
事件过程:先输入n的值(123),将n这个实参代入fn()函数:
fn()函数首先用abs()函数把n转换成绝对值,再进行循环,第一次循环结果:
k=3,num=12
第二次(最后一次)循环结果:
k=6,num=1
函数fn()的返回植就是k的值,r=fn(n)
再输出r的值:6
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询