将字符串转换为 C 中的表达式

标签 c dynamic expression

<分区>

Possible Duplicate:
What is a fast C or Objective-C math parser?

我可以使用什么函数代码将动态字符串转换为表达式并对其求值?

#include <stdio.h>
#include <conio.h>
#include <string.h>
int main() {
  char var1[] = "3";
  char var2[] = "2";
  char var3[] = "5";
  char exp[20]  = "";
  int result;

  // Trying to create a random expression "(3+2)*5" 
  strcat(exp, "( ");
  strcat(exp, var1);
  strcat(exp, " + ");  
  strcat(exp, var2);  
  strcat(exp, " ) * ");  
  strcat(exp, var3);    

  result = somefunction(exp);

  printf("Result : %i\n", result);
  return 0;
}

最佳答案

您必须解析字符串并对其求值 - 这远非微不足道,抱歉。但是你可以看到一个 working example here .

关于将字符串转换为 C 中的表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13867222/

相关文章:

mysql - 如何将表数据作为预定义字符串中的变量返回 - SQL

c - 用于读取输入的动态缓冲区大小

c# - lambda 表达式内的赋值

regex - 如何将 perl 正则表达式替换编写为表达式中的函数?

c - 函数内的动态内存分配不起作用,但没有发生错误

c - c 中的开关/字符串

c - g_main_loop 在 gtk 编程中如何工作?

c++ - 使用 OpenGL 创建多个多边形很慢?

android - 动态创建sqlite表

xpath - 如何缩短此xpath表达式?