我正在尝试编写一个程序来读取如下行: * 3 2
然后调用我编写的乘法函数来完成方程式。
我已经有了所有操作的公式,只是不知道如何分隔线和进行调用。
最佳答案
Polish (prefix) notation是指将运算符写在其操作数之前,就像这里一样。如果你的每一行对应一个“波兰语句子”,并且如果你能够方便地将整行存储在内存中(我猜很可能),那么最简单的方法可能是将整行读入一个缓冲区(即使用 fgets()
),然后使用 strtok()
构建指向每个标记的指针数组,最后从该数组的末尾遍历该数组start(基本上从右到左阅读句子),以类似于上述维基百科条目中给出的伪代码的方式处理每个标记。 (reverse Polish notation 句子的从左到右处理是完全相同的,并且可以说更容易理解,仅仅是因为人们不必向后遍历句子就可以如此轻松地做到这一点.)
关于c - 如何从C中的数字中读取单独的(+,-)行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5846101/