小弟新手最近刚开始入门程式 学C语言
之前想到写计算机程式 要怎么输入算式 做加减乘除
一开始还在想要怎么判读算式里面字串中有哪些数字与算符
再用switch case去分类运算 不过这样搞得好像很复杂....
明明程式里面 变量赋值等号后面就可以简单做运算
要怎么把输入的算式编到程式里???
后来看到某个网站 原来有这样搞法....
用fprintf先产生一个临时的.c原始码档 把算式当成参数写进去...
然后用system系统指令编译这临时.c档并执行 ....原来可以这么简单orz
想了好几天的迷惑终于解开了 也分享给跟我想一样问题的新手...
http://ideone.com/TMgjSC (参考范例)
作者:
c910335 (达人)
2015-02-02 11:48:00把GCC一起编进去(选我正解
作者:
bigpigbigpig (To littlepig with love)
2015-02-02 11:51:00要这样玩,直接用Python的eval()就搞定,不是更快?
你说的 "明明...简单做运算" 的东西就是这么不简单...
1.真的要写这样的功能非常不简单2.这种偷吃步的方法其实对任何人帮助都不大
作者:
Qbsuran (Qbsuran)
2015-02-02 12:08:00真的有兴趣就看bc这个指令的原始码还有计算机功能不是简单的事 扯到资料结构前中后序
作者:
CaptainH (Cannon)
2015-02-02 13:40:00还需要一点lexer的技巧
作者:
uranusjr (â†é€™äººæ˜¯è¶…級笨蛋)
2015-02-02 14:40:00前中后序真的神烦, 一般入门应该最多只会教到 RPN 计算
作者:
bigpigbigpig (To littlepig with love)
2015-02-02 14:51:00我用 BASIC 写过一次,Google 中序转后序运算式求值
感谢楼上前辈们的关键字 这真的有很多东西得学...
作者:
EdisonX (卡卡兽)
2015-02-03 21:37:00我专案没碰到 python 的话这辈子大概也不会碰了吧 Orz
我自己系上写过一个 后序计算机是最直观最好写的但是要的背景知识稍闲深了点但其实实作计算机也有不用资结的方法 想法大概是a + b * c / d - e 先写出abcde string to number然后掌握先乘除后加减OOPS我好像搞错性质了 以为单纯疑问 当我没说话=p