您的位置:首页 > 大数据 > 人工智能

main函数的参数问题

2017-06-05 00:00 204 查看
main函数可以不带参数,也可以带参数,这个参数可以认为是 main函数的形式参数。

C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。加上形参说明后,main函数的函数头应写为:

main (int argc,char *argv[])。

由于main函数不能被其它函数调用,因此不可能在程序内部取得实际值。那么,在何处把实参值赋予main函数的形参呢? 实际上,main函数的参数值是从操作系统命令行上获得的。当我们要运行一个可执行文件时,在$提示符下键入文件名,再输入实际参数即可把这些实参传送到main的形参中去。

$提示符下命令行的一般形式为: ./a.out q1 q2 q3 q4 q5 q6

官方的说明是:argc保存的是命令行参数的数目,而argv是指向个参数的各指针所构成的数组。

下面新建一个test.c程序来测试一下。

1 #include <stdio.h>
2 int main(char argc,char *argv[])
3 {
4         char i=0;
5
6
7         printf("argc is:%d \n",argc);
8         for(i=0;i<argc;i++)
9         {
10                 printf("argv[%d] is:%s \n",i,argv[i]);
11         }
12
13 }

编译,执行:





由此,我们可以看出来,argc表示的是键入命令行的参数的个数,包括./a.out。argv[]存放的是指向各个参数的指针。键入的命令行以空格为间隔,参数包括可执行文件a.out的位置(./a.out),'.'表示当前位置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: