C ++ Big for-loop在它应该之前很久就会随机停止

时间:2016-05-11 14:54:25

标签: c++ loops for-loop

我正在完成一项任务,我应该尝试以四种不同的方式完成一门课程。 这应该以各种方式完成100次,并且这100次迭代中的每一次都包含另一个for循环,它运行5000次迭代。

我的问题是。在跑步时,程序随机停止。它就停止了。 没有例外。没有断点。没有崩溃。没什么。 它只是停止计算。

我写下了几个停下来的地方 简化代码:

IF EXISTS(SELECT 1 FROM top1) THEN
  TRUNCATE TABLE Top2;
  INSERT INTO top2 SELECT * FROM top1;
END IF;

它停止计算的地方是:

for(int i = 0; i < 100; i++)
{
    //Some stuff
    for(int j = 0; j < 5000; j++)
    {
        //Some other stuff
        cout << i << "\t" << j << endl;
    }
}

所以我看到的唯一模式是它经常停在&#34; j-loop&#34;的4999处。并且很早就在&#34; i-loop&#34;。

我对此感到很困惑,因为我确信我在循环中所做的事情应该不是问题。

请帮忙!

Complete code Link

1 个答案:

答案 0 :(得分:6)

在第一行:

for(int i; i < 100; i++)

变量i未初始化。因此它包含一个任意值,每次迭代都会递增,最终会停止。尝试初始化它:for(int i = 0; i < 100; i++)