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

我有以下代码:

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(x&y)告诉编译器调用函数2 ,将x&y作为参数传递(就像printf("hi")意思是“ 调用printf并传递"hi"作为参数 ”)。

但是2不是函数,因此会出现类型错误。 从语法上讲,每当你有一个值后跟( ,这是一个函数调用。

更改

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

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

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

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

如果乘法是你想要的,你需要乘法运算符。