none
Project1.exe によってブレークポイントが発生しました。 はどうすれば解決できますか? RRS feed

  • 質問

  • 最近c言語の独学で勉強をしている学生です。

    ある日からvsでデバッグしてもエラーを吐くようになりました。

    hello worldでさえ動きません。

    書いたプログラムはこれです。

    独習cという参考書で勉強しています。

    // 加算結果を一度変数に設定する例
    #include <stdio.h>
    #include <stdlib.h>
    int main(int argc, char* argv[])
    {
    int sum = atoi(argv[1]) + atoi(argv[2]);
    printf("%d\n", sum);
    }

    2019年10月31日 8:37

すべての返信

  • hide.yさん、こんにちは。フォーラムオペレーターのクモです。
    MSDNフォーラムにご投稿くださいましてありがとうございます。

    ご質問の件につきまして、答えさせていただきます。

    デバッグ アサーションに失敗しました (Line: 1772 Expression: _p != nullptr)、間違った動作:"int sum = atoi (argv [1]) + atoi (argv [2])""

    argc はコマンドラインからプログラムに渡される引数の数で、引数の配列です。
    argv[argc] は常にナル ポインタであることを指定します。

    for(int i = 0; i < argc; i++)
    {
        // argv[i] is the argument at index i
    
    }


    argv[i] では、i の値は argc より小さくする必要があります。
    コードによって、コマンド引数にパラメータを入力しましたでしょうか?そうでない場合、argc の値は 1 で、argv [1] はナル ポインターです。

    Visual Studio でコマンド ライン パラメーターを使用してデバッグする必要があります。
    (プロジェクトを右クリックし、プロパティを選択し、[デバッグ] セクションに移動します -- "Command Arguments"のボックスが出てきます。)

    コマンド ライン引数の詳細については、リンクを参照することをお勧めします。

    https://docs.microsoft.com/en-us/cpp/cpp/parsing-cpp-command-line-arguments?view=vs-2019


    どうぞよろしくお願いいたします。


    MSDN/ TechNet Community Support Kumo ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~


    2019年11月4日 6:08