用C语言怎么样把用户输入的字符串转化成在源程序中可执行的表达式?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言怎么样把用户输入的字符串转化成在源程序中可执行的表达式?相关的知识,希望对你有一定的参考价值。
比如我从键盘中输入x*x, 电脑把这个字符串赋给源程序里面的一个函数,然后执行这个函数表达式?
#include <stdio.h>#include <stdlib.h>
#include <string.h>
int test(const char *str)
int length, i = 0, j = 0;
char *pl, *pr, *tmp, sign = 0;
tmp = str;
length = strlen(str);
for(i = 0; i < length; i++)
char c = *(str+i);
if(c == '+'|| c == '-' || c == '*' || c == '/' || c == '%')
sign = c;
break;
*(tmp + i) = '\\0';
pl = tmp;
pr = tmp+i+1;
i = atoi(pl);
j = atoi(pr);
if(sign == '+')
return i+j;
else if(sign == '-')
return i-j;
else if(sign == '*')
return i*j;
else if(sign == '/')
return i/j;
else
return i%j;
int main(void)
char str[10] = 0;
scanf("%s", &str);
printf("%d\\n",test(str));
return 0;
简单写了点,很多容错没做,空格,字母什么的都没有判断,不过简单思路就这样,用解释型语言写简单点,python就很好写
以上是关于用C语言怎么样把用户输入的字符串转化成在源程序中可执行的表达式?的主要内容,如果未能解决你的问题,请参考以下文章