C++ C++;大循环在它应该停止之前很久就随机停止

C++ C++;大循环在它应该停止之前很久就随机停止,c++,loops,for-loop,C++,Loops,For Loop,我正在做一个作业,我应该试一下我用四种不同的方式上的课。 这将以各种方式进行100次,并且这100次迭代中的每一次都包含另一个for循环,该循环运行5000次迭代 我的问题是。运行时,程序会随机停止。它只是停止了。 也不例外。没有断点。没有撞车。没什么。 它只是停止了计算 我已经记下了它停的几个地方 简化代码: for(int i = 0; i < 100; i++) { //Some stuff for(int j = 0; j < 5000; j++) {

我正在做一个作业,我应该试一下我用四种不同的方式上的课。 这将以各种方式进行100次,并且这100次迭代中的每一次都包含另一个for循环,该循环运行5000次迭代

我的问题是。运行时,程序会随机停止。它只是停止了。 也不例外。没有断点。没有撞车。没什么。 它只是停止了计算

我已经记下了它停的几个地方 简化代码:

for(int i = 0; i < 100; i++)
{
    //Some stuff
    for(int j = 0; j < 5000; j++)
    {
        //Some other stuff
        cout << i << "\t" << j << endl;
    }
}
因此,我看到的唯一模式是,它经常在“j循环”的4999处停止,并且很早就在“I循环”中停止

我真的很困惑,因为我确信我在循环中所做的不应该是一个问题

请帮忙

在第一行:

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

在第一行:

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

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

你能做一个复制行为的脚本吗?如果我不粘贴我自己制作的类和文件,它就不会变得更清晰。这就是我为什么要求这样做的原因。您拥有的for循环不应该停止。很可能是您没有展示的代码才是问题所在。继续剪切和修剪项目中不需要的代码,直到获得产生相同问题的最少代码并将其发布到此处。然后我们可能会告诉你什么是错误的。添加了一个链接到描述,希望这会有所帮助。不,它没有。我们不是调试服务。你需要制作一个复制问题并将代码包含在问题中的脚本。你能制作一个复制行为的脚本吗?如果我不粘贴我自己制作的类和文件,它不会变得更清晰。这就是为什么我要求这样做。您拥有的for循环不应该停止。很可能是您没有展示的代码才是问题所在。继续剪切和修剪项目中不需要的代码,直到获得产生相同问题的最少代码并将其发布到此处。然后我们可能会告诉你什么是错误的。添加了一个链接到描述,希望这会有所帮助。不,它没有。我们不是调试服务。你需要制作一个复制问题并在问题中包含代码的模板。遗憾的是,这只是我在写这篇文章时碰巧犯的一个打字错误。它是按照您在代码中编写的方式初始化的,所有内容都编译得很好。@HannesKnutsson那么,请查看上面NathanOliver的评论,并制作一个最小、完整且可验证的示例,因为它非常适合我使用原样的代码:。添加了一个指向描述的链接,希望这会有所帮助。我不会浏览您的全部代码;最有可能的是,不相交集实现中出现了一些问题。我建议您从程序中获取返回代码(类似于
/my_program;echo$?
),并检查它是否为零。如果不是的话,祝你好运,你最喜欢的调试器。遗憾的是,这只是我在写这篇文章时碰巧犯的一个错误。它是按照您在代码中编写的方式初始化的,所有内容都编译得很好。@HannesKnutsson那么,请查看上面NathanOliver的评论,并制作一个最小、完整且可验证的示例,因为它非常适合我使用原样的代码:。添加了一个指向描述的链接,希望这会有所帮助。我不会浏览您的全部代码;最有可能的是,不相交集实现中出现了一些问题。我建议您从程序中获取返回代码(类似于
/my_program;echo$?
),并检查它是否为零。如果不是,祝你好运,你最喜欢的调试器。