我编写的程序在输入(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.
知道如何做到这一点?
提前致谢!
答案 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,则可能返回错误。