读书人

关于逆波兰运算的有关问题

发布时间: 2012-08-03 00:12:14 作者: rapoo

关于逆波兰运算的问题
众所周知 逆波兰运算的格式例如 12-45+* 这个等价于(1-2)*(4+5)

这种方法经常被应用在C语言下的简易计算器程序制作



我想问的是 这些计算器程序 应该是可以运算不止一位的数字的

那么比如我算20-10 逆波兰表示法2010- 这样程序如何知道在哪里将两个数字断开呢?

是不是 标准的逆波兰表示法 都需要在两个数字间空格或是什么的?

[解决办法]
1、两个数之间必须有分割符,空格只是最常见的一种而已;
2、ungetch的真正意义在于回退一个字符给缓冲区,因为你在分析记号的时候,是一个字符一个字符的,如果不符合某种条件时,你需要回退一个字符,它好去分析是否符号另外的条件。
[解决办法]
解析的单位是token,至于token一般用空格分割。

读书人网 >C++

热点推荐