有关main函数的参数探究
目录:程序员成长之旅/C语言/笔记
平时变成都会有主函数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;
}
运行截图
🖼 图片占位(归档模式)图片见原始导出:
%E6%9C%89%E5%85%B3main%E5%87%BD%E6%95%B0%E7%9A%84%E5%8F%82%E6%95%B0%E6%8E%A2%E7%A9%B6.assets/4f348043-e200-46d6-bfd5-de055d68f254.jpg可以看到 后面不加参数 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;
}
🖼 图片占位(归档模式)图片见原始导出:
%E6%9C%89%E5%85%B3main%E5%87%BD%E6%95%B0%E7%9A%84%E5%8F%82%E6%95%B0%E6%8E%A2%E7%A9%B6.assets/b535a306-d8ef-48bc-ab61-e973da35ed6a.jpg可以看到除了第一个argc[0]以外 是按照输入顺序排放在数组中的
可以通过调用函数组 干很多事情