下面有这样的一段代码
#include <stdio.h>int main(int arg){printf("%d\n",arg);}
arg代表的是执行程序的时候,传递了几个参数,程序本身就算作1个参数,使用gcc
编译之后默认生成文件叫做a.out
下面的命令会让该程序打印出1(运行a.out程序使用:./
+程序名)
shiwentian@LXAJT101017491:~$ ./a.out
下面的命令会打印出2
shiwentian@LXAJT101017491:~$ ./a.out abc1
下面的命令会打印出4
shiwentian@LXAJT101017491:~$ ./a.out abc1 abc2 abc3
C语言中main方法第一个参数必须是上述说的这样,main方法也可以存在第二个参数,并且必须是char指针数组的指针,例如下面这样
#include "stdio.h"int main(int len,char * * arg){for(int i=0;i<len;i++){char * p=*(arg+i);puts(p);//puts函数的参数是指向数组第一个元素的指针}}
输入下面的命令
./a.out aa bb cc
打印出下面的内容
./a.outaabbcc
还有一种写法,是下面这样子的,它与上面的写法本质上是完全相同的,都是一个指针,所以中括号中[]没有数量,详情应该参考数组与指针
int main(int len,char * arg[])