2010-08-11 111 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'){

相关问题