2010-08-11 104 views
-1

我想通過一本關於C到工作,我被困在下面的錯誤:錯誤:預期主表達式前「==」

while((c = getchar()) != EOF){ 
      if(c >= '0' && c <= '9'){ 
      ++ndigit[c-'0']; 
      } 
      else if (c == ' ' || c == '\n' || == c =='\t'){ 
       ++nwhite; 
      } 
       else{ 
        ++nother; 
       } 
    } 

編譯器抱怨我的VaR比較'c'和空白字符。 錯誤:預期的'=='令牌之前的主表達式

我從學校以來沒有寫過C,所以我很困惑我的語法有什麼問題。謝謝。

+1

如果你仔細觀察,你已經添加了不必要的'==第三比較'。 – 2010-08-11 17:03:41

回答

2

您寫道:

else if (c == ' ' || c == '\n' || == c =='\t') 

但應

else if (c == ' ' || c == '\n' || c =='\t'){ 

通知條件是最後一部分前==被刪除,在第二片段。即使你一段時間沒有寫C,看起來這是一個簡單的錯字,而不是對這些操作員的誤解。

+0

你想要點這個????? SO生病了;它有一種疾病。 – 2010-08-11 17:01:44

+1

哈!即使看着你回答,我花了一秒鐘的時間來看看額外的'=='。我應該今天休假。謝謝。 – Nick 2010-08-11 17:04:14

3
else if (c == ' ' || c == '\n' || == c =='\t'){ 
            ^^ 
            | 
            +-- This == should be deleted. 
0

坐上否則,如果線擺脫==使用c:

否則,如果(C == '' ||ç== '\ n' || ==Ç== '\ t'){

0

嗯,這==

if (c == ' ' || c == '\n' || == c =='\t') 

          ^^ Here 

是沒有任何意義。你爲什麼把它放在那裏?

+0

WHOOT usenet突出顯示! – 2010-08-11 17:02:28

0

這是你們的問題「== ==Ç‘\ t’)」擺脫==到C變量的左

0

的問題是上線else if (c == ' ' || c == '\n' || == c =='\t'){

就這麼== c == '\t'在結束了,它扔掉了。 C不允許你將比較串在一起,另外,==的左邊沒有任何內容(這就是「預期的主要表達式==」的意思,它想要比較的東西,但沒有什麼)。

應該else if (c == ' ' || c == '\n' || c =='\t'){

相關問題