在c中将字符串转换为数学函数的步骤是什么? [已关闭]

问题描述 投票:0回答:1

我正在尝试用 c 编写一个程序,将字符串转换为要在我的程序中使用的数学函数。例如:用户将 x+3+7 作为字符串输入,然后程序会将其转换为可以计算的方程。

到目前为止,我已经能够运行一个解析字符串的程序..但我卡在那里。我只是想知道一般步骤,然后我将完成代码。

c string expression-evaluation
1个回答
1
投票

解析字符串并构建数学表达式的某种表示是一个很大的主题,对于 Stack Overflow 问题来说太大了。 解析理论在计算机科学中作为一个学期或更长时间的科目教授,前提条件包括有限状态自动机离散数学

粗略地说,各个输入字符被分组为令牌,然后处理令牌以驱动解析输入的“机器”。机器体现了指定语言结构的语法规则。每个语法规则都与将一些输入转换为软件表示(例如将变量名称转换为指针转换为具有有关变量名称的信息的数据结构)和/或构建表示表达式或其他构造的数据结构的软件相关联。例如,用于识别

+
运算符及其操作数的语法规则可能会构造一个标记为
+
操作的树节点,并包含指向表示其左操作数和右操作数的子树的链接。

稍后,将通过遍历树并评估它指示的变量和操作来执行表达式的评估。

© www.soinside.com 2019 - 2024. All rights reserved.