C basic - 被叫对象不是函数或函数指针

时间:2016-10-10 22:35:57

标签: c

这是我的代码 -

main() 
{

    double x;
    double y = pow(((1/3 + sin(x/2))(pow(x, 3) + 3)), 1/3);
    printf("%f", y);

    return 0;
}

我在double y = pow((1/3 + sin(x/2))(pow(x, 3) + 3), 1/3);中收到错误,它说被调用的对象不是函数或函数指针。我不明白 - (1/3 + sin(x/2))(pow(x, 3) + 3)pow(x, y);的第一个元素,它是我想要提升到y(1/3)幂的x。问题在哪里?我对c basic很新,但我无法在任何地方找到答案。

3 个答案:

答案 0 :(得分:0)

那是因为pow的返回值是double,而不是函数。也许你要做的就是将pow的呼叫作为第一个战俘的第二个参数传递。

答案 1 :(得分:0)

如果要繁殖,则需要使用 chrome_options = webdriver.ChromeOptions() prefs = {"profile.default_content_setting_values.notifications" : 2} chrome_options.add_experimental_option("prefs",prefs) #driver = webdriver.Chrome(chrome_options=chrome_options) driver = webdriver.Chrome(r"C:\Users\jatin\Downloads\chromedriver_win32\chromedriver.exe",chrome_options=chrome_options) 运算符。您不能将带括号的表达式彼此相邻以表示乘法。

*

答案 2 :(得分:0)

#include <stdio.h>
#include <math.h> // For pow() function

int main() {

    // Initialize with whatever value you want
    double x = 100;

    // Make sure to use an arithmetic operator
    double y = pow(((1/3.0 + sin(x/2))*(pow(x, 3) + 3)), 1/3.0);

    // Use right format specifier
    printf("%lf", y);

    return 0;
}
  1. 别忘了加入math.h图书馆。
  2. 使用值初始化x
  3. 避免使用整数除法1/3,而是使用1/3.01.0/3.0,因为1/3 == 0
  4. 在中间+之前使用算术运算符(-*/pow()),如pow(((1/3.0 + sin(x/2))+(pow(x, 3) + 3)), 1/3.0)
  5. (选项)使用y的正确格式说明符%lf。但是你可能会逃脱%f