在C中使用字符串作为数学表达式

时间:2017-08-23 11:03:57

标签: c string

我想知道是否有任何方法可以将表达式作为字符串并将其作为数学表达式进行评估?

#include <stdio.h>
#include <conio.h> 

void main {
 char expression[100];
 int answer;
 scanf("%s", &expression);
 // Let expression = "10+5"
 answer = expression
 printf("%d", answer);
 // Print 15
 getch();
}

是否有任何可以帮助我完成此任务的库或内置函数?我正在使用Turbo C ++ 3.0。

P.S:我不能使用现代编译器,因为它包含在我们的教学大纲中。

1 个答案:

答案 0 :(得分:2)

没有

answer = expression毫无意义。如果您想要answer = find_answer(expression),并且此函数find_answer()是您真正想知道的,如果存在,答案仍为“否”,C中没有内置的数学字符串解析器。您可以编写如果你把它变得简单(只有基本操作符和两个操作数,一开始),它本身就不是很难。

编辑:问题已经修复了错误,删除了部分答案。