Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c语言中的BODMAS计算_C - Fatal编程技术网

c语言中的BODMAS计算

c语言中的BODMAS计算,c,C,嗨,我正试图用C写一个代码来解决基于博德马斯规则的数学方程,有什么建议吗? 例如: 程序应给出如下输出: (8+8)/2+4=12 内部计算(字符*exp\U str){ 文件*fp; int ret; fp=fopen(“计算辅助c”,“w”); fprintf(fp,“int main(){return%s;}”,exp_str); fclose(fp); 系统(“gcc calc_aux.c-o calc_aux.exe”); ret=系统(“calc_aux.exe”); 删除(“计算辅

嗨,我正试图用C写一个代码来解决基于博德马斯规则的数学方程,有什么建议吗? 例如: 程序应给出如下输出: (8+8)/2+4=12 内部计算(字符*exp\U str){ 文件*fp; int ret; fp=fopen(“计算辅助c”,“w”); fprintf(fp,“int main(){return%s;}”,exp_str); fclose(fp); 系统(“gcc calc_aux.c-o calc_aux.exe”); ret=系统(“calc_aux.exe”); 删除(“计算辅助c”); 删除(“calc_aux.exe”); 返回ret; } int main(){ 字符exp[]=“(8+8)/2+4”; printf(“%s=%d\n”,exp,calc(exp)); } //结果:(8+8)/2+4=12
具体是什么建议?建议:不要使用C.thnx,因为它可以工作,但是你能不能也写评论,这样我就可以更清楚地了解程序是如何工作的functioning@AshishKarna,请看注释中还链接了calc函数。
#include <stdio.h>

int calc(char *exp_str){
    FILE *fp;
    int ret;
    fp=fopen("calc_aux.c","w");
    fprintf(fp, "int main(){ return %s; }", exp_str);
    fclose(fp);
    system("gcc calc_aux.c -o calc_aux.exe");
    ret=system("calc_aux.exe");
    remove("calc_aux.c");
    remove("calc_aux.exe");
    return ret;
}

int main(){
    char exp[]="(8+8)/2+4";
    printf("%s=%d\n", exp, calc(exp));
}
//result:(8+8)/2+4=12