gpt4 book ai didi

c - RPN中运算符的优先级

转载 作者:太空狗 更新时间:2023-10-29 15:50:45 26 4
gpt4 key购买 nike

在 C 中计算 postfix 表达式时,如果我们的标记是一个运算符,我们必须将它放置在堆栈中,使其具有最高优先级。

我的问题是操作符*/%中优先级最高的。

我们还需要考虑关联性吗?由于所有这些运算符都具有从左到右的关联性/ 是否会比 * 获得更高的优先级?

最佳答案

优先级 通常只适用于中缀表示法。后缀(和前缀)符号通常被认为是明确指定哪些操作数与哪个运算符相关联。只有在解析中存在歧义时,优先级才会发挥作用,而后缀表示法则不是这种情况。

出现在中缀表达式中的优先问题

4 * 5 + 3 / 12

转换为RPN形式后根本不存在

4 5 * 3 + 12 /

或前缀形式

(/ (+ (* 4 5) 3) 12)

.

考虑像 Shunting-Yard Algorithm 这样的东西时,可能会产生混淆。可用于从中缀表达式生成 RPN 表示或直接求值。它通过将运算符延迟到辅助堆栈来处理运算符优先级,直到较低优先级的运算符强制它被弹出和计算(或输出)。

关于c - RPN中运算符的优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18348975/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com