C语言查缺补漏(十二)main函数参数

忽略点十二:main函数参数

​ 大家都知道,main函数的完整格式如下:

int main(int argc, char *argv[]) {
    // ...
    return 0;
}

​ 这两个参数有什么用呢?

main函数第一个参数是整数型,代表命令行参数的个数(系统依据用户输入的参数个数自动生成,非手动输入),第二个参是char *argv[],也就是char型指针数组,用于储存用户从命令行中传进来的参

​ 例如:在命令行中输入./main hello world

​ 此时,argc3argv[0]./mainargv[1]helloargv[2]world

​ 命令行参数默认是由空格分隔,但如果某个参数中含空格我们应该怎么办

这时我们在输入含空格的参数时要用引号将整个参数包裹起来,例如:

​ 执行./main “hello world” is my greet

​ 此时,argc5argv[0]./mainargv[1]hello worldargv[2]isargv[3]myargv[4]greet

易错点!!!!
int main(int arc, char **argv)中argc取的不是main函数的参数个数!!!

​ main函数个数固定是2!!argc取的是命令行中键入的参数个数!!而不是main函数的参数个数

​ 关于参数的使用:

int main(int argc, char **argv) {		//**argv等价于*argv[]
    for (int i = 0; i < argc; i ++) {
        printf("%s\n", argv[i]);
    }
}

​ main函数的参数也挺有用的,比如你可以设置进入一个软件的两种模式

​ 比如当strcmp(argv[1], “master”) == 0时,进入该软件的管理员模式,其余情况或者无参时进入用户模式等等。

​ 除了上述,main函数参还有很多黑科技!!!等待大家去发现,哈哈哈~

转载请注明出处!!!

如果有写的不对或者不全面的地方 可通过主页的联系方式进行指正,谢谢!

猜你喜欢

转载自blog.csdn.net/Ivan_zcy/article/details/82952480