在C中显示两个用户定义数字之间的素数

时间:2017-05-14 10:10:24

标签: c

运行时出现错误:左值作为分配左操作数

for(x=2;x<=n/2;x++)
{
     if ((n%x)=0)
     {
        y=1;
      }
 }

2 个答案:

答案 0 :(得分:0)

赋值运算符(=)和比较运算符(==)之间存在差异。在您的代码中进行比较,因此您应该使用“==”

for(x=2;x<=n/2;x++)
{
 if ((n%x)==0)
 {
    y=1;
 }
}

答案 1 :(得分:0)

与其他人一样,问题出在if声明的条件下。让我们说n = 13。 它输入for语句。 所以第一步就是:

if(1 = 0)//13 % 2 = 1
    y = 1;

这就像说5 = 9或100 = 12或5 = 0.这是不可能的。 要检查n % x是否为0,请使用n % x == 0

http://www.includehelp.com/c-programming-questions/what-is-difference-between-assignment-and-equalto-operator.aspx