读变量作为执行参数

时间:2015-08-27 14:17:35

标签: c++ c

我编写的程序在输入(N)时只需要一个整数 我想以某种方式编写它,以便在执行时获取此值,如下所示:

g++ solve.cpp -o solve
solve 6

其中6(N)可以是任何整数。

有谁知道怎么做?我尝试过使用:

int main(int N) { ... }

我最终收到了警告:

solve.cpp:5:5: warning: ‘int main(int)’ takes only zero or two arguments [-Wmain]
 int main(int N)

仍然让它编译,但现在无论我用什么输入N,它最终都会得到N = 2.

知道如何做到这一点?

提前致谢!

1 个答案:

答案 0 :(得分:2)

以下是您的需求:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    if(argc != 2)
    {
        printf("not enough numbers or too many\n");
        exit(1);
    }

    printf("%d\n", atoi(argv[1]));

    return 0;
}

argc 值实际上是你的参数数+ 1,所以如果只执行solve,那么argc的值将为1.传递一个数字(N)作为参数如:solve 6,argc将为2.这是我的if条件的解释,因为如果argc不同于2,则可能返回错误。