有关main函数的参数探究

程序员成长之旅 · 程序员成长之旅/C语言/笔记 · 561 字

平时变成都会有主函数main

习惯这么写

#include<stdio.h>
int main()
{
        printf("Hello word\n");
        return 0;
}

然而完整形式的main函数是这样的

#include<stdio.h>
int main(int argc,char* argv[])
{
        printf("Hello word\n");
        return 0;
}

那么他们是干什么用的呢

在linux系统中 命令是可以加参数的

例如

ls
ls -l
ls -l -a

这样的 可以实现不同的功能

我们的c语言也可以接受这样的参数

其中 int argc 可以获取 一共给予了多少个参数

#include<stdio.h>
int main(int argc,char* argv[])
{
        printf("argc is %d",argc);
        return 0;
}

运行截图

可以看到 后面不加参数 argc的值为1

加参数后argc值就是 参数的数量+1

(参数和参数之间判定条件是空格)

那么argv数组就显而易见是存放参数的

测试代码

#include<stdio.h>
int main(int argc,char* argv[])
{
        for(int i=0;argc>i;i++){
                printf("argc %d is %s\n",i,argv[i]);
                }
        return 0;
}

可以看到除了第一个argc[0]以外 是按照输入顺序排放在数组中的

可以通过调用函数组 干很多事情

附件