一个VB计算题,朋友请进.

来源:百度知道 编辑:UC知道 时间:2024/05/05 05:38:11
Option Explicit
Private Function pf(x As Integer)
If x < 100 Then
pf = x Mod 10
Else
pf = pf(x \ 100) * 10 + x Mod 10
Print pf
End If
End Function
Private Sub Command1_Click()
Dim x As Integer
x = Text1
Print pf(x)
End Sub
程序运行结果为17 178 178 ,但是我怎么都算不出这个结果,麻烦朋友帮我写一下运算步骤,谢谢!
X=15768

执行print pf(x)
第一次进入pf
x=15768>100 -> pf = pf(x \ 100) * 10 + x Mod 10

pf(x \ 100)第二次进入pf:"\"是取整 x=15768
x=157>100 -> pf = pf(x \ 100) * 10 + x Mod 10

pf(x \ 100)第三次进入pf: x=157
x=1<100 ->pf=1
第三次退出.

第二次执行Print pf
此时pf = pf(x \ 100) * 10 + x Mod 10 =1*10+157 mod 10=10+7=17
第一次执行Print pf
pf = pf(x \ 100) * 10 + x Mod 10=17*10+15768 mod 10=170+8=178

Command1_Click()执行
Print pf(x) ->print 178

x=text1??那么x到底等于多少,你得告诉我text1里的数字啊,不然我怎么帮你算????