如何用C语言定义这样的表达式:

x+(x^2)/(2*2-1)


其中x是实数。

我试图按原样输入表达式,但这没有帮助。

事情是我不想使用任何自定义函数,只是循环。

有任何想法吗?

最佳答案

在C中,^是按位XOR运算符。没有“力量”运算符。

因此,C等效项如下所示:

x+(x*x)/(2*2-1)


运算符优先级与数学运算一样,因此请注意,上面的等价于

x + ( (x*x) / ((2*2)-1) )


如果您需要一个变量“将x提高到y的幂”,那么不幸的是只有pow()函数可用于浮点变量,因此有些肿且效率低下。但是,编写自己的整数版本很简单,see this

08-06 00:36