作者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