C语言中判断素数中if(i==j)是什么意思?

void jsvalue(int m,int k,int xx[])
{
int i,j,s=0;
for(i=m+1;k>0;i++)
{for(j=2;j<i;j++)
if(i%j==0) break;
if(i==j)
{xx[s++]=i;k--;}
}
}

其中if(i==j)是什么意思?
条件中不是i>j,怎么可能还等于? 这句有必要吗?

是这样的,for(j=2;j<i;j++)这个循环,如果一直没有i%j==0这个条件成立,那么只有当j==i的时候,才会跳出。这时候就意味着这是一个素数。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-02-24
是i等yu就,这个是有必要的。你看for(j=2,j<i;j++) j<i 是在j++之前的,如果j=3,i=4,j<i,但是j++以后,j就是4了,i=j=4.所以需要判断if(i==j)
第2个回答  2010-02-23
就是如果j赋值给i
就相当于等于
第3个回答  2010-02-24
有必要啊,
for(j=2;j<i;j++)
if(i%j==0) break;
相当于
for(j=2;j<i;j++)
{
if(i%j==0) break;
}
所以if(i==j)
{xx[s++]=i;k--;}
还是有作用的
第4个回答  2010-02-23
就是等于
相似回答