#include <stdio.h>
#define num 200
int main()
{
int sieve[num+1];
sieve[0]=sieve[1]=0;
for(int i=2;i<=num;i++)
sieve [i]=i;
int count=0;
for (int j=2;j<=num;j++)
if (sieve[j]!=0)
{
printf("%5d",j);
count++;
if (count%10==0)
printf("\n");
for (int k=j;k<=num;)
{
sieve[k]=0;
k=k+j;
}
}
printf ("\n");
return 0;
}
if (sieve[j]!=0) 把!=0,跑一下,可得到下图,而下图跟加上!=时的结果是一样的,因为if加上括号中的sieve[j]就相当于非0为真的形式:
希望对题主有所帮助,可以的话,帮忙点个采纳!