2013-05-18 65 views
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

您是否包含'iso646.h'來啓用'或'? – Jon

+0

@Jon:這對我來說是新的。什麼是'iso646.h'? – Jack

回答

1

嘗試用'||'替換'or'或運算符

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

沒有關鍵字or,你應該使用||

if ((A % K == 0) || (B % K == 0)) 
11

如果你想使用在C andor「關鍵字」,你必須包括<iso646.h>頭。 (但是,您應該只使用||;對於大多數認識C的讀者而言,它更爲熟悉。)

0

您的問題不是人數問題。在幾乎所有的語言(或者至少那些我已經使用)聲明:

IF((A%K == 0)或(B%K == 0))

應該寫成:

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

+0

很多語言使用'或'而不是'||'; C(默認)不是其中之一。 – mipadi

+0

很高興知道,我認爲這將是真實的,這就是爲什麼我合格:) – TheTrooble

0

有沒有 「或」 操作者在嘗試C. ||而不是「或」。

0

或者(但不推薦),

#define or || 
#define and && 

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

我不建議這樣做,因爲它真的不規範。

+0

哦,那是ISO646。 – dwj

+0

這些宏和其他幾個宏在標準頭文件''中定義。 –

相關問題