0

我有以下代码,

int count_div ( int A, int B, int K ) {
   float div =(float) (B - A) / K;
  if ((A % K == 0 ) or (B % K == 0))
    return div + 1;
  return div;
}

我收到错误消息,

func.c:3: error: expected ')' before 'or'

现在我认为在此之前不需要另一个支架。请指导。谢谢

4

6 回答 6

11

如果要在 C 中使用andand or“关键字”,则必须包含<iso646.h>标题。(但您可能应该只使用||; 对于大多数了解 C 的读者来说,它更熟悉。)

于 2013-05-18T00:15:41.247 回答
1

尝试用“||”替换“或” or 运算符

于 2013-05-18T00:14:36.020 回答
0

或者(但不推荐),

#define or ||
#define and &&

...
if ((A % K == 0 ) or (B % K == 0))
...

我不推荐它,因为它真的很不标准。

于 2013-05-18T00:19:05.603 回答
0

你的问题不是括号的数量。在几乎所有语言(或至少我使用过的语言)中,声明:

如果 ((A % K == 0 ) 或 (B % K == 0))

应该写成:

如果 ((A % K == 0 ) || (B % K == 0))

于 2013-05-18T00:17:02.043 回答
0

C 中没有“或”运算符。试试 || 而不是“或”。

于 2013-05-18T00:17:17.580 回答
0
if ((A % K == 0 ) or (B % K == 0))

中没有关键字or,您应该使用||

if ((A % K == 0 ) || (B % K == 0))
于 2013-05-18T00:14:43.803 回答