从命令行传递的参数称为命令行参数。这些参数由main()函数处理。

为了支持命令行参数,需要将main()函数的结构更改如下:

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

在这里,argc计算参数的数量。它将文件名作为第一个参数计算在内。

argv[]包含所有的参数。第一个参数总是文件名。

例子

让我们看一个命令行参数的例子,我们将一个参数与文件名一起传递。

#include <stdio.h>
void main(int argc, char *argv[]) {
  
  printf("Program name is: %s\n", argv[0]);
  
  if(argc < 2){
    printf("No argument passed through command line.\n");
  }
  else{
    printf("First argument is: %s\n", argv[1]);
  }
}

在Linux中运行这个程序:

./program hello

在Windows中通过命令行运行这个程序:

program.exe hello

输出:

Program name is: program
First argument is: hello

如果传递了多个参数,它只会打印一个。

./program hello c how r u

输出:

Program name is: program
First argument is: hello

但是,如果你在双引号内传递多个参数,所有参数将被视为单个参数。

./program "hello c how r u"

输出:

Program name is: program
First argument is: hello c how r u

你可以编写程序来打印所有的参数。在这个程序中,我们只打印了argv[1],所以它只打印了一个参数。

标签: c语言, c语言教程, c语言技术, c语言学习, c语言学习教程, c语言下载, c语言开发, c语言入门教程, c语言进阶教程, c语言高级教程, c语言面试题, c语言笔试题, c语言编程思想