0
/* test1.c */
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int m = 11;
    system("./test2 m");
    return 0;
}

上記のプログラムは 0 を出力しますが、私は 11 を出力すると予想しています。

/* test2.c */
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    int m = atoi(argv[1]);
    printf("%d\n", m);
    return 0;
}

誰かが説明を提供できますか?また、目的の 11 を印刷するための正しい方法は何でしょうか?

4

3 に答える 3

4

値ではなく、文字mをコマンドラインに渡します。

于 2013-11-15T11:17:55.847 に答える