警告:建议用作真值的赋值括号[-Whatarentheses]

时间:2015-04-16 05:42:02

标签: c

  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++; 
    }
    
  3. 提前感谢你!

2 个答案:

答案 0 :(得分:2)

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

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

c == (i-1)

而不是

c = (i-1)

答案 1 :(得分:1)

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