main函数是可以带参数的,不过这个参数可以认为是它的形式参数
C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv。因此,c语言main函数的两个参数可写为
main(int argc,char *argv[])
argc的值是命令行参数的个数
什么是命令行参数?
在命令行下调用程序(假设程序名为2.exe)
c:\2.exe file1 file2
这时的“c:\2.exe” “file1” “file2”这三个都是命令行参数
C语言约定argv[0]储存的是程序名,所以argc至少为1(文件名本身也算一个参数)
#include <stdio.h>
int main(int argc,char *argv[]){
int a=0,b=0;
printf("argc:%d\n",argc);
printf("argv[0]:%s\n",argv[0]);
printf("argv[1]:%s\n",argv[1]);
return 0;
}
在devc++下运行结果如下
argv[1].....是主程序需要的参数 这里没有进行设置,所以显示为空
下面进行设置参数
在devc++中选择 运行》参数(parameter) 添加参数 这里添加了 a b c三个 点击确定
#include <stdio.h>
int main(int argc,char *argv[]){
int a=0,b=0;
printf("argc:%d\n",argc);
printf("argv[0]:%s\n",argv[0]);
printf("argv[1]:%s\n",argv[1]);
printf( "argv[2]:%s\n",argv[2]);
printf("argv[3]:%s\n",argv[3]);
return 0;
}
再次运行代码,可以看到结果如下: