我让这个程序使用命令行给出的值 10,20,30 执行。

int main(int argc , char **argv)
 {
  printf("\n Printing the arguments of a program \n");
  printf("\n The total number of arguments in the program is %d",argc);
   while(argc>=0)
    {
     printf("%s   ",argv[argc]);
     argc--;
     }
     return 0;
  }

输出是
程序中的参数总数为 4(null) 30 20 10 ./a.out

那(空)从哪里来的??

最佳答案

argv[0](在可能的范围内)应该是标识正在运行的程序的某种东西。 argv[1]argv[argc-1]是在命令行上实际输入的参数。 argv[argc]必须是空指针(第5.1.2.2.1/2节)。

关于C 中的命令行参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3371886/

10-11 21:26