从string-C向变量赋值的整数表达式

从string-C向变量赋值的整数表达式,c,string,variables,integer,expression,C,String,Variables,Integer,Expression,我正在编写一个操作系统。 所以我想知道如何使用用户定义的函数extract()将(2*(7+8)-9)+2这样的表达式初始化为变量: 我是这样做的,从字符串中变量初始化(任何提示/想法/建议)StAdExver已经涵盖了使用C++的中缀表达式解析和递归体面解析的主题。仔细阅读以理解算法,然后看看是否可以将其转换为C。这肯定会很“有趣”,并会教你一点关于C的知识。extract在其他语言中的作用类似于eval。你需要写一个算术解释器。顺便说一句,你为什么要用这种方式初始化值?你正在编写一个操作系统

我正在编写一个操作系统。 所以我想知道如何使用用户定义的函数extract()将(2*(7+8)-9)+2这样的表达式初始化为变量:


我是这样做的,从字符串中变量初始化(任何提示/想法/建议)

StAdExver已经涵盖了使用C++的中缀表达式解析和递归体面解析的主题。仔细阅读以理解算法,然后看看是否可以将其转换为C。这肯定会很“有趣”,并会教你一点关于C的知识。

extract在其他语言中的作用类似于
eval
。你需要写一个算术解释器。顺便说一句,你为什么要用这种方式初始化
?你正在编写一个操作系统,并询问如何解析一个简单的表达式?是的,我编辑了它。请帮助我。如果你是C新手,那么这太难从像中缀表达式解析器这样复杂的东西开始。首先从计算后缀表达式开始,您会发现这要容易得多。如果你想看到一个POSIFTX表达式解析器(用C++编写的例子,所以不是C的完美例子,但是会给你一般的结构),请查看这里的PASFION.CPP:是的,这正是我想要的。
extract(char a[])
{
//some code
}

char expr[] = "(2*(7+8)-9)+2";
int value = extract(expr);