Bis*_*Das 16 c math expression infix-notation evaluate
假设用户输入中缀表达式作为字符串?使用C语言评估表达式结果的最简单方法(最简单的意思是短语 t)是什么?
可能的方法是将其转换为后缀然后使用stacks.But它相当长的过程.有没有办法使用像atoi()或eval()这样的函数来简化工作?
小智 5
C没有内置的“ eval”功能,但是有提供此功能的库。
我强烈建议使用TinyExpr。它是免费的开源C代码,可通过字符串实现数学评估。TinyExpr只是1个C文件,大约500行代码。我认为您不会找到一种更短或更简单的方法来真正完成(而不仅仅是玩具示例)。
这是一个使用它的完整示例,该示例应说明它的简单程度:
#include "tinyexpr.h"
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("%f\n", te_interp("5 * 5", 0)); //Prints 25
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果您想自己构建一个表达式求解器,我建议您以TinyExpr源代码为起点。它很干净而且易于遵循。
| 归档时间: |
|
| 查看次数: |
6070 次 |
| 最近记录: |