错误:被调用对象不是函数或函数指针

时间:2017-03-02 15:52:51

标签: c

我有以下代码:

  z=x-~y-1;
    printf("%d",z);
  z=(x^y)+2(x&y);
    printf("%d",z);
  z=(x|y)+(x&y);
    printf("%d",z);
  z=2(x|y)-(x^y);
    printf("%d",z);

我收到此错误消息:

10:11: error: called object is not a function or function pointer 
z=(x^y)+2(x&y); 
        ^ 

语言是C.为什么会这样?

2 个答案:

答案 0 :(得分:1)

更改

z=(x^y)+2(x&y);

z=(x^y)+2*(x&y);

z=2(x|y)-(x^y);

z=2*(x|y)-(x^y);

如果乘法符合您的预期,则需要乘法运算符。

答案 1 :(得分:1)

关于错误的含义:2(x&y)告诉编译器调用函数2,将x&y作为参数传递(就像printf("hi")表示“致电printf并传递"hi"作为参数“)。

2不是函数,因此会出现类型错误。从语法上讲,只要你有一个值后跟(,那就是函数调用。