不确定如何修复“左值所需”错误

时间:2015-03-08 13:58:04

标签: c lvalue

#include<stdio.h> 
main()
{
int x,n,r;
scanf("%d" , & x);
    for (n=2;n<(x/2);n++)
    {
            (x%n=r);              //error is here
            (r=0) ? (print("%d\n is a factor")):(print("%d\n is not a factor"));    
    }

}

不确定为什么我要将&#34;左值作为赋值的左操作数&#34;错误。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您正尝试将r分配给无效的x%n。你可能想要

r=x%n;

另外,替换

(r=0) ? (print("%d\n is a factor")):(print("%d\n is not a factor"));

(r==0) ? (printf("%d\n is a factor",x)):(printf("%d\n is not a factor",x)); 

=是赋值运算符,而不是比较运算符(==)。