有人能解释一下这个素数表的代码吗?
#include <stdio.h>
int main(){
const int maxnumber=25; //数组的大小
int isprime[maxnumber]; //定义数组
int i;
int x;
for(i=0;i<maxnumber;i++){
isprime[i]=1;
}
for(x=2;x<maxnumber;x++){
if(isprime[x]){
for(i=2;i*x<maxnumber;i++){
isprime[i*x]=0;
}
}
}
for(i=2;i<maxnumber;i++){
if(isprime[i]){
printf("%d\t",i);
}
}
printf("\n");
return 0;
}
输出是这样的
这段代码的前面不是定义了一个长度为25的数组吗?为什么不是输入前25位的素数而是输出了25之前的素质?