【问题标题】:Infix to post-fix expression后缀表达式的中缀
【发布时间】:2017-05-02 23:38:07
【问题描述】:

下面是中缀表达式-A-(B/C+(D%E*F)/G)*H

你能告诉我它的后缀表达式是什么

1.ABC/D%EF*G/+H*-

2.ABC/DE%F*G/+H*- .

我只是无法决定它是 D%E 还是 DE% 我认为扫描 D 后,“%”将被移动到堆栈中,然后将写入 E,然后通过比较 * & %, %会发生,但在互联网上显示 DE% 是正确的。 正确的答案和解释将不胜感激。

【问题讨论】:

    标签: c stack operator-precedence postfix-notation infix-notation


    【解决方案1】:

    你的第二个选项是对的。

    运算符不会被压入堆栈;他们从堆栈中弹出两个值,应用操作,并将结果压入堆栈。因此,由于%* 具有相同的优先级,因此它们从左到右应用:

    (D%E*F) =>
    Push D
    Push E
    Modulo
    Push F
    Multiply
    

    【讨论】:

      猜你喜欢
      • 2015-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-10
      • 1970-01-01
      • 2021-12-28
      相关资源
      最近更新 更多