-5

最大ボード幅 80 セル、最大ボード高さ 52 セルのボード ゲームを作成しようとしていますが、ユーザーはコマンド ラインに寸法を入力して寸法を選択できるはずなので、寸法が最大値より小さくなる可能性があります。私はプログラミングが初めてですが、コマンドライン引数がCのメイン関数を介して渡されることを知っています。これに固執していて、答えが見つからないようです。

誰でも助けてくれますか?

4

1 に答える 1

1

このmain関数は 2 つの引数を取ります。通常は整数と呼ばれargc、文字列ポインタの配列は通常 と呼ばれargvます。main通常、次のように宣言されます。

int main(int argc, char *argv[])

argc変数は、プログラムに渡される引数の数です。

変数には、argvプログラムに渡される実際の引数が含まれています。

実際のプログラム名は常に引数として渡され、 にあるため、argc変数は少なくともと等しくなります。1argv[0]

2 つの引数が必要な場合は、最初argcに少なくとも と等しいことを確認する必要があり3ます。プログラムの最初の引数は文字列として に格納されargv[1]、2 番目の引数は に格納されargv[2]ます。


次のようなプログラムを試すことをお勧めします。

#include <stdio.h>

int main(int argc, char *argv[])
{
    printf("argc = %d\n", argc);

    for (int i = 0; i < argc; i++)
        printf("argv[%d] = \"%s\"\n", i, argv[i]);

    return 0;
}

そして最後に (問題とは関係ありませんが、それでもなお興味深い)、argv配列のサイズが実際にはほとんどの人が予想するよりも 1 大きいという事実があります。argv配列のサイズは実際にはargc + 1であり、argv[0](プログラム名) からargv[argc]. この最後のエントリ ( argv[argc]) は常にNULLポインタです。

于 2013-05-10T12:52:27.463 に答える