#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;错误。 任何帮助将不胜感激。
答案 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));
=
是赋值运算符,而不是比较运算符(==
)。