作者fumizuki (小狮子)
看板Visual_Basic
标题Re: [VB6 ] 计算机
时间Sat Jun 11 17:59:55 2005
※ 引述《TrueFeeling (昨日之死)》之铭言:
: ※ 引述《fumizuki (小狮子)》之铭言:
: : 不是这样的意思...
: : If p > 0 Then GoSub SplitProc: Eval = Eval(op1) + Eval(op2): GoTo EndProc
: : SplitProc:
: : op1 = Left(s, p - 1): op2 = Mid(s, p + 1): Return
: : 的执行顺序是
: : GoSub SplitProc
: : op1 = Left(s, p - 1)
: : op2 = Mid(s, p + 1)
: : Return
: : Eval = Eval(op1) + Eval(op2)
: : GoTo EndProc
: : Return 是回到原地,但是并不是重覆再执行已执行过的东西,
: : 那样子毫无意义,会变成无穷回圈...
: 有一个问题就是:
: 如果Return不是重头开始的话,
: 那Eval = Eval(op1) + Eval(op2)"执行完",就会跳出Function
: 所以执行完的意思是执行到Eval = Eval(op1) + Eval(op2)的时候会自动的把每一个
: Eval再重新重头执行,然後算出值,最後才GoTo EndProc罗?
没错
Return 是回到 GoSub ,执行下一行叙述
→ Eval = Eval(op1) + Eval(op2)
在此会呼叫 Eval,得到 op1 的值後,再呼叫另一次 Eval,得到 op2 的值
然後,相加,存回前面那个 Eval 变数,
最後 Goto EndProc
--
VB 程式设计 仓木麻衣 PTT 星爷板 行列输入法
======================================================
Visual_Basic MaiKuraki Stephen Array
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.58.156.43
1F:→ TrueFeeling:嗯嗯,了解了^^220.141.159.236 06/11