【问题标题】:Integer expression assignment to a variable from string - C [closed]从字符串到变量的整数表达式赋值 - C [关闭]
【发布时间】:2017-08-16 19:42:06
【问题描述】:

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

extract(char a[])
{
//some code
}

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

我这样做是为了从字符串初始化变量。(任何提示/想法/建议?)

【问题讨论】:

  • extract 在其他语言中的行为类似于eval。你需要写一个算术解释器。顺便说一句,你为什么要这样初始化value
  • 你在写一个操作系统,问如何解析一个简单的表达式?
  • 是的,我编辑了它
  • 请帮帮我。
  • 如果您是 C 新手,那么从像中缀表达式解析器这样复杂的东西开始就太难了。首先从评估后缀表达式开始,您会发现它要容易得多。如果您想查看 postifx 表达式解析器的示例(用 C++ 编写,因此不是 C 的完美示例,但会为您提供一般结构),请查看此处提供的 postfix.cpp:courses.cs.sfu.ca/2016sp-cmpt-135-d1/pages/Assignment1

标签: c string variables integer expression


【解决方案1】:

StackOverflow 已经涵盖了使用 C++ here 进行中缀表达式解析和递归体面解析的主题。通读一遍理解算法,然后看看能不能转成C。那一定很“有趣”,顺便教你一点C。

【讨论】:

  • 是的,这正是我想要的。
猜你喜欢
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-01
  • 1970-01-01
  • 2017-09-27
  • 1970-01-01
相关资源
最近更新 更多