0

我在 Windows Vista (SP1) 上拥有管理员权限。我在 Dev-C++ 中用 C++ 编写程序。那是我的代码:

#include <iostream>

using namespace std;

int main()
{
    int n[30000], i;
    i = 0;
    while(n[i] != 0)
    {
        cin >> n[i];
        i++;
    }
    //TODO 
}

我可以正确编译它,但是当我尝试在其中启动该程序时,cmd我看到以下错误:

拒绝访问

我厌倦了在我的 IDE 中启动 debbuing 模式,但后来我看到了以下错误:

启动应用程序时出错(5):

拒绝访问

我检查了 - 我的文件没有被任何其他线程使用。你能告诉我我应该怎么做才能使它正常工作吗?

4

1 回答 1

1

与您的问题无关,但您的代码中有未定义的行为。当你声明一个局部变量,甚至是一个数组时,它的值是不确定的。在初始化之前使用它是未定义的。

这意味着您的数组n将基本上包含随机数据,并且您不知道何时(如果有的话)会有零。因此,您可能会使用索引循环超出数组的边界,并写入这些位置。

于 2013-11-11T12:50:13.087 回答