linux下main函数的标准调用格式为:
int main(int argc, char *argv[])
参数argc是命令行参数的个数(包括科执行文件名本身),argv是指向字符串的指针数组
测试
//test.c
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{
int i = 0;
printf("%d\n", argc);
for(i = 0; i < argc; i++)
{
printf("%s\n",argv[i]);
}
return 0;
}
由执行结果分析,命令行输入参数有两个Hello和world,由于包含可执行文件名,所以argc=3,argv[]数组指向三个字符串
main函数的参数的使用可以省略掉在应用过程中的参数输入读取步骤,可以在程序执行之前,在命令行直接将参数传给程序,就不需要调用标准输入函数,在程序运行的过程中等待用户输入参数.
例如在程序的执行过程中需要打开名为’test.txt’的文件,我可以在命令行输入
./test test.txt
./test为可执行文件,这样我就可以不用调用标准输入,来暂停程序,等待用户输入文件名
例子
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{
printf("打开了文件%s,不需要调用标准输入程序\n", argv[0]);
return 0;
}
运行结果
在实际应用中,如果不需要传递参数,也可以省略掉main函数的参数,直接写成:int main(void)