【发布时间】:2013-05-16 01:47:35
【问题描述】:
非常感谢 C、Python、C++ 或 Javascript 的答案。 我读了几本书,做了所有的例子。现在我想写一个简单的程序。 但是,我已经遇到了以下障碍:
我的意图是从用户那里获取一个方程并将其保存在一个变量中, 例如:
-3*X+4 or pow(2,(sin(cos(x))/5)) > [In valid C Math syntax]
然后针对某个 X-Value 计算给定的表达式。 像这样的:
printf("%g", UserFunction(3.2)) // Input 3.2 for X in User's Function and Print Result
有什么想法吗?对于我的生活,我无法弄清楚这一点。更令我沮丧的是,解决方案可能非常简单。提前谢谢你。
【问题讨论】:
-
你不会用
-3 * x代替-3x吗?您可以使用eval,但如果您期望任意用户输入,这并不安全。 -
你是对的,-3 * X 是合适的语法。关于eval,你说的“不安全”是什么意思?
-
eval("__import__('os').system('rm -Rf /')")做你认为它做的事。 -
谢谢,但我不认为用户会在询问他们想要求解的方程时输入“rm -Rf /”。你有没有机会给我一个它的用法例子?不会像 eval(scanf("%s"), x=5) 这么简单吧?
-
在 Python 中,它只是
eval('x + 2', {'x': 3})
标签: c variables equation solver