假设用户将中缀表达式作为字符串输入?
用C语言计算这个表达式的结果最简单(我的意思是最简单)的方法是什么?
可能的方法是使用堆栈将其转换为后缀,但这是一个相当长的过程。
是否有任何方法可以使用诸如atoi()或eval()之类的函数来简化工作?

最佳答案

当然,最有教育意义的方法(甚至可能是最简单的方法,一旦你知道怎么写)是学习如何写自己的recursive descent parser。C语言中缀表达式的解析器不是很长。
Here's one由eli bendersky撰写的一些关于解析的优秀博客文章。(这是与您最相关的一个,但我强烈推荐所有这些)它包含中缀表达式解析器的源代码——无可否认,是用python,而不是c编写的,但是转换应该相当简单,您将在这个过程中学到很多东西。

关于c - 使用C语言计算中缀表达式的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1207242/

10-11 22:34
查看更多