2017-02-16 76 views
-1

我得到這個錯誤,我是這個編碼的初學者,所以我不太瞭解。這裏是我的程序:我收到一個錯誤:左值需要作爲左操作數的賦值

#include <iostream> 1 
using namespace std; 2 
int a,b,k,i,n,c;  3 
int main()   4 
{      5 
cin>>a>>b;   6 
k=0;     7 
for (i=a;i<=b;i=i+1) 8 
{      9  
    n=i;    10 
    c=0;    11       
    while (n>0)  12 
    {     13 
     if (n%2=1) 14 
      c=c+1; 15 
     n=n/10;  16 
    }     17 
    if (c>0)   18 
     k=k+1;  19 
}      20    
cout<<k;    21 
         22 
return 0;    23 
}      24 

錯誤似乎在第14行! 我正在使用Code :: Blocks版本13.12

+0

你*知道分配和比較的區別嗎?你正在做第一個(任務)。 –

+2

只是一個錯字。知道'='和'=='之間的區別。 –

+1

'if(n%2 = 1)'給出值1到'n%2'。從概念上講,這是沒有道理的。你用比較運算符表示'if(n%2 == 1)'。 –

回答

1

您已在第14行使用了一個'=',但僅用於賦值。你正在做一個比較,所以你必須使用'=='。

if (n % 2 == 1) 
+0

請不要回答這樣的問題。它們對普通觀衆沒有用處。 –

+0

夠公平的,我還是新的,我會牢記這一點 – ChrizNuh

+0

有一個投票結束這種簡單的印刷錯誤的選項。 –

相關問題