标题:这个运行为什么为出错,define少个零就正常
取消只看楼主
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
结帖率:100%
已结贴  问题点数:20 回复次数:1 
这个运行为什么为出错,define少个零就正常
#include <iostream>
#define MAXNUM 1000000   //少个零就正常
using namespace std;
main ()
{
    int prime[MAXNUM]={0};            //记录数据类型,0为素数,1为合数
    int i,j,c=0;
    for(i=2;i*i<MAXNUM;i++)
    {
        
        if(!prime[i])         
        {
            
            for(j=i*2;j<MAXNUM;j+=i)
            {
               
                if(prime[j]==1)continue;
                if(j%i==0)prime[j]=1;     //是合数置1
               
            }
        }
        
     }
     for(i=2;i<MAXNUM;i++)
     {
         if(!prime[i])
         {
             c++;
             cout<<i<<"  ";
             if(c%10==0)
             cout<<endl;
         }
         
         
     }
}
搜索更多相关主题的帖子: 运行 出错 define for i++ 
2019-03-15 21:37
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:0 
哦谢谢了,搞不清楚为什么用了static关键字就不会溢出。

[此贴子已经被作者于2019-3-16 19:44编辑过]

2019-03-16 19:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-493625-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.207700 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved