0

一見単純に思えることが、なぜ私のプログラムをクラッシュさせているのでしょうか?

n配列をそのサイズにNしてさまざまな操作を実行するための値を取得しようとしていますが、それは重要ではありません。とにかく、アクセスしようとするたびにクラッシュし続けますargv[1]

int main(int argc, char * argv[])
{
  int n;
  n = atoi(argv[1]); //Crashes here!
  cout << "\nN: " << n << endl;
}
4

1 に答える 1

1

argv[1] は存在しますか? コードがメモリにアクセスするのを防ぐために、渡された引数の数をチェックしないでください。

if(argc >= 2)
  n = argv[1];
else
  std::cout << "Proper usage: .....\n";

これは、デバッガーを使用して argv と argc の内容を表示する方法を学ぶ絶好の機会のようです。

于 2013-04-13T23:48:36.063 に答える