作者TrueFeeling (昨日之死)
看板Visual_Basic
标题Re: [VB6 ] 计算机
时间Sat Jun 11 13:29:27 2005
※ 引述《fumizuki (小狮子)》之铭言:
: ※ 引述《TrueFeeling (昨日之死)》之铭言:
: : 如果Eval(op1)和Eval(op2)的里面还有运算子的时候,
: : 例如:
: : Eval(2-3*5+7/5-9)=Eval(2-3*5)+Eval(7/5-9)
: : 那麽这两个分割後的Eval函数,
: : 要在什麽地方继续分割呢?(因为已经Goto EndProc了)
: 你的问题大概是
:
: Eval = Eval(op1) + Eval(op2): Goto EndProc 这一行吧
:
: 这是两行叙述,第一行执行时会去呼叫 Eval,
: op1 和 op2 那两个 Eval 都「执行完成」的时候,才会 Goto EndProc
^^^^^^^^^^^
怎麽样算是执行完成呢@@"
:
: : ^^^^^^^^^^^^
: : ^^^^^^^^^^^^
: : ^^^^^^^^^^^
: : ^^^^^^^^^^^^
: : 优先等级这里有疑问,依照你程式的写法
: : 我的解读是:
: : 先用+号将字串分割成前段和後段,然後每一个分割後的字串依此继续分割
: : 当分割完的函数里面没有+号的时候才会-号,再来是乘号,再来是除号
: : ,所以优先等级我看不懂你说最高和最低是什麽意思
: 先乘除後加减啊
:
: 乘除优先运算,加减最後运算,这数学规则应该知道吧
嗯,知道
:
: 因为最先进入的程式是最後才会结束的,所以要倒过来,变成加减先处理,再处理乘除
:
: 至於乘与除先後顺序不会影响结果,加与减也是...
可是为什麽乘最高,其他最低呢?
我觉得应该是类似这样吧:
最高-次高-低-最低
: : 是什麽东西让c=1的呢?我一直找不到 = =
: 前面翻翻程式码吧
:
: 最开头就写了个 c = c + 1 了
嗯,这个我有看到,想问一下如果不设这个c的话,
方程式还可以运作吗?为什麽?
: : 嗯嗯,这段我了解了原来p是承接上面 p=2 Else p=1 的p没错
: : 是喔,呼叫可以这样用@@||(惊!!)
: 不然你以为是怎麽用@@?
我以为输入和输出要分开,没想到你居然把它合在一起
嗯嗯,高手高手^^||
: 呼叫就是这样子用的@@"
嗯,我又学到了一招^^
: : 但是依照程式里面op1的定义是:
: : op1 = Left(s, p - 1)
: : 所以这样来说,感觉实际上是两个变数,只是因为前一个用完,後面一个重新定义的样子
: op1 有两个地方在使用它,两个地方并不会冲突,用过了後就不再使用了...
--
少年读书,如隙中窥月;
中年读书,如庭中望月;
老年读书,如台上玩月。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.141.159.236