c筛发求素数

新手上路,请多包涵
     #include <stdio.h>
       int main()
       {
             int s1[200]={0};
             int s[200]={0};
             int k=0;
             for(int i=2;i<200;i++)
           s[i-1]=i;
            
            for(int i=0;i<200;i++)
             if(s[i]!=0)
          {
             s1[k]=s[i];
             
              for(int h=i;h<200;h++)
                 if(s[h]%s1[k]==0)<-------s1[k]为什么改成s[i]程序就崩溃?
                  s[h]=0;
                   k++;
             }
           
           for(int i=0;s1[i]!=0;i++)
            printf("%d ",s1[i]);

       }
阅读 1.9k
1 个回答
for(int i=0;i<200;i++)
    //...
    for(int h=i;h<200;h++)
        if(s[h]%s1[i]==0)    //很明显s1[i]会溢出
    //...
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题