表达式求值问题(C语言数据结构栈实现)
在做这个程序时候遇到了一个问题,就是对于一个表达式怎么实现一次性输入要求的表达式,在输入完成后就直接输出正确结果,而不是一个字符一个字符的输入判断到底是不是运算符还是操作数,还有在一次行输入的时候定义怎样的数据类型能够输入成为大于字符‘9’的数字的,我刚开始定义的是char型,但是对于比如说输入24,验证结果则只是把2赋给了char型变量,怎么实现输入大于‘9’的操作数呢?以上是我写这个程序遇到的问题,想了很久,没解决,希望哪位给个好的思路,谢谢
以下是引用御坂美琴在2010-11-19 08:33:47的发言:
楼主看编译原理吧,这些其实都是相当于输入一个字符串(gets/getline),然后你从字符串分析出哪里是数字,哪里是运算符,然后再开始计算
特别地,如果是浮点数1.2e-3这种形式,如果你打算支持浮点数的话,也是要考虑的
楼主看编译原理吧,这些其实都是相当于输入一个字符串(gets/getline),然后你从字符串分析出哪里是数字,哪里是运算符,然后再开始计算
特别地,如果是浮点数1.2e-3这种形式,如果你打算支持浮点数的话,也是要考虑的
谢谢你,编译原理我们还没学呢~,但是具体怎么一次输入就可以扫描完成呢?,我不知道用什么方法,便输入编调用判断函数好像行不通