C 返回错误2的6/2(1+;2)不是函数

C 返回错误2的6/2(1+;2)不是函数,c,C,以下语句正在生成编译时错误 int a=6/2(1+2); 有人能解释一下编译器产生错误的原因吗。您缺少一个数学符号,例如+,-,*,/ 您可能需要6/(2*(1+2))或(6/2)*(1+2) 如果您不签出,C将其解释为函数调用,就像通常的函数printf(“stuff”)(通过无数学运算符的圆括号表示)。因此它认为2(1+2)调用带有参数1+2的函数2,不能跳过乘法运算符。尝试inta=6/2*(1+2)您必须执行以下操作 int a = 6/2*(1+2); 否则它试图将2解释为一个

以下语句正在生成编译时错误

 int a=6/2(1+2);

有人能解释一下编译器产生错误的原因吗。

您缺少一个数学符号,例如
+
-
*
/

您可能需要
6/(2*(1+2))
(6/2)*(1+2)


如果您不签出,C将其解释为函数调用,就像通常的函数
printf(“stuff”)
(通过无数学运算符的圆括号表示)。因此它认为
2(1+2)
调用带有参数
1+2
的函数
2
,不能跳过乘法运算符。尝试
inta=6/2*(1+2)

您必须执行以下操作

int a = 6/2*(1+2);

否则它试图将2解释为一个函数,比如
inta=2(参数)

2
(1+2)
之间没有操作。如果你想乘法,你必须让C知道:编程语法通常对这些东西要求很严格

正确的语法:

int a = 6 / 2 * (1 + 2);

@鲁迪:你在做假设,而我们只是在回答关于错误的问题。如果结果是打错了,我想OP会找到答案的。