用C语言怎么样把用户输入的字符串转化成在源程序中可执行的表达式?

比如我从键盘中输入x*x,电脑把这个字符串赋给源程序里面的一个函数,然后执行这个函数表达式?... 比如我从键盘中输入x*x, 电脑把这个字符串赋给源程序里面的一个函数,然后执行这个函数表达式? 展开
 我来答
kevin_room
2013-06-27 · TA获得超过132个赞
知道小有建树答主
回答量:156
采纳率:100%
帮助的人:86.6万
展开全部
#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就很好写

ccz181078
2013-06-27 · TA获得超过415个赞
知道小有建树答主
回答量:271
采纳率:85%
帮助的人:106万
展开全部
不行吧,字符没法和变量名对照判断。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友aee35a9
2013-06-29
知道答主
回答量:17
采纳率:0%
帮助的人:12.1万
展开全部
变量只要和字符类型一样 可以用库函数进行比较啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式