进程返回-1073741571(0xC00000FD)

时间:2017-12-17 16:18:11

标签: c++ qt-creator codeblocks

我附上工作代码以匹配pi的近似值。

#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <time.h>
using namespace std;

int tabSize=720; //odd number recommended, max 32767
int precision=10000000;

long double round=0;
int number1, number2;
int main()
{
    long double r=(long double)tabSize/2;
    long double r2=r*r;
    int s=tabSize/2+1;
    int tab[tabSize][tabSize];
    for(int i=0;i<tabSize;i++)
    {
        for(int j=0;j<tabSize;j++)
        {
            if((i-s)*(i-s)+(j-s)*(j-s)<=r2)
            {
                tab[i][j]=1;
            }
            else
            {
                tab[i][j]=2;
            }
        }
    }
    srand(time(NULL));
    for(int i=0;i<precision;i++)
    {
        number1=rand()%tabSize;
        number2=rand()%tabSize;
        if(tab[number1][number2]==1)
        {
            round++;
        }
    }
    round/=precision;
    long double pi=round*tabSize*tabSize/r2;
    cout << "Your pi approximation: " << setprecision(50) << pi << endl;
    return 0;
}

一切正常,但如果我将tabSize增加到721或更多,脚本崩溃:“进程返回-1073741571(0xC00000FD)”。更重要的是,这是CodeBlocks中的最大值,因为在Linux下的QT Creator中,我最多可以输入1446到tabSize变量。 1447或更多导致相同的崩溃“进程返回-1073741571(0xC00000FD)”。 是什么原因?我的错在哪里?

0 个答案:

没有答案
相关问题