警告:建议用作真值的赋值括号

  1. 程序片段是为素数提取而编写的。
  2. 编译器抛出了警告,就像标题一样。

    while(count<=n) { for(c=2;c=(i-1);c++) //the warning is shown here { if(i%c==0) break; } if(c==i) { printf("%d ",i); count++; } i++; } 

提前谢谢你!

if语句的中间表达式通常是条件,例如i < n 。 在您的情况下,这是一项任务。

编译器警告你,也许你犯了一个错误,你打算使用

 c == (i-1) 

代替

 c = (i-1) 

如果你有c=(i-1) ,你应该有c==(i-1) 。 前者指定一个值,但您只是想检查那里的值。