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会找到答案的。