2017-02-16 79 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

有一个投票结束这种简单的印刷错误的选项。 –

相关问题