从命令行参数给出整数

时间:2012-08-14 08:26:51

标签: c++ c command-line-arguments

我在下面的代码中添加了两个整数而不使用“int”。现在我需要通过命令行在a和b中分配值。如果我想添加2和3,那么我应该写./a.out 2 3

main(a, b)
{
    printf("%d\n",a+b);
return 0;
}

3 个答案:

答案 0 :(得分:1)

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

 int main ( int argc, char *argv[]) 
     { 
        printf("%d\n",atoi(argv[1])+atoi(argv[2])); 

       return 0;
     }

答案 1 :(得分:0)

要获取命令行参数,您应该将主函数的签名更改为:

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

在argc中,你有输入参数count(number)。

在argv []中,你将所有参数都作为字符串。

请注意,您运行的程序的名称也是argv的一部分,并且它在argc中占用。

答案 2 :(得分:0)

使用命令行参数,您需要查看argcargv的参数main。如果您的main如下:

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

你会发现argc包含给定的命令行参数的数量(实际上是+1,因为程序名称本身将是第一个),然后argv将是包含这些命令行的字符串数组参数。 argv[0]将是您的计划的名称。

因此,在您的情况下,您需要添加适当的更改(例如通过atoiargv[1]argv[2]。例如。与

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