gpt4 book ai didi

c - 使用 C 语言计算中缀表达式的最简单方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 16:34:20 25 4
gpt4 key购买 nike

假设用户输入一个字符串形式的中缀表达式?使用 C 语言评估该表达式的结果的最简单方法(我的意思是最简单t)是什么?

可能的方法是将其转换为后缀,然后使用堆栈。但这是一个相当长的过程。有没有什么方法可以使用 atoi()eval() 等函数来简化工作?

最佳答案

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;
}

如果您想自己构建一个表达式求解器,我建议您查看 TinyExpr source-code作为起点。它非常简洁且易于理解。

关于c - 使用 C 语言计算中缀表达式的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1207242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com