首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-08-03 
关于逆波兰运算的问题众所周知 逆波兰运算的格式例如 12-45+* 这个等价于(1-2)*(4+5)这种方法经常被应用在

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

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



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

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

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

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

热点排行