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 でデビュモードを起動するのに疲れましたが、次のエラーが表示されました。

アプリケーションの起動エラー(5) :

アクセス拒否

確認しました - 私のファイルは他のスレッドで使用されていません。それを適切に機能させるにはどうすればよいか教えていただけますか?

4

1 に答える 1

1

問題とは関係ありませんが、コードに未定義の動作があります。配列であっても、ローカル変数を宣言すると、その値は不定になります。初期化される前に使用することは未定義です。

これは、配列nに基本的にランダムなデータが含まれ、いつゼロになるかがわからないことを意味します。したがって、おそらくインデックスを使用して配列の境界を超えてループし、それらの場所に書き込みます。

于 2013-11-11T12:50:13.087 に答える