“不确定如何修复”;“所需左值”;错误 #包括 main() { int x,n,r; scanf(“%d”和&x); 对于(n=2;n

“不确定如何修复”;“所需左值”;错误 #包括 main() { int x,n,r; scanf(“%d”和&x); 对于(n=2;n,c,lvalue,C,Lvalue,您试图将r分配给x%n,这是无效的。您可能想要 #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 fac

您试图将
r
分配给
x%n
,这是无效的。您可能想要

#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"));    
    }

}
另外,替换

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));