资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

c语言配置主函数参数 c语言的主函数名

c语言主函数中的参数有什么用?举例说明

C语言的带参数的main函数格式为main(int argc,char* argv[]),其中argc为参数个数加1,argv为参数列表,从argv[1]开始。编译后生成可执行文件,可以在执行的程序后加参数,比如编译一个程序为test.exe,则在执行时可以输入:

为肥东等地区用户提供了全套网页设计制作服务,及肥东网站建设行业解决方案。主营业务为成都做网站、成都网站设计、肥东网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

test.exe 1 firestone

在这里,argc等于3,argv[0]为"test.exe",argv[1]为"1",argv[2]为"firestone"。

如果有下面的程序:

#include stdio.h

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

{

printf("You've input %d parameters.\n",argc-1);

for(int i=1;iargc;i++)printf("The No.%d is:%s\n",i,argv[i]);

}

则上面的输入会产生如下运行结果:

You've input 2 parameters.

The No.1 is 1

The No.2 is firestone

c语言中main函数的参数

main函数可以不带参数,也可以带参数,这个参数可以认为是 main函数的形式参数。

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

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

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

DOS提示符下命令行的一般形式为:

C:\可执行文件名 参数 参数……

c语言的主函数 参数

int main (int argc,char *argv[]) 或者 int main (int argc,char **argv)

其中第一个表示参数的个数;第二个参数中argv[0]为自身运行目录路径和程序名,argv[1]指向第一个参数、argv[2]指向第二个参数……

测试例子:

#include stdio.h#include string.h

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

{

printf("argc= %d\n",argc);

while(argc--)

{

printf("%s \n",*argv++);

}

return 0;

}

关于C语言的主函数参数问题

看看这个例子就知道了,在同一文件夹先编译hello.c再编译main.c运行

main.c

#include stdio.h

#include process.h

int main()

{

char a[100];

int b;

printf("调用hello.exe, 第一个参数为改应用程序的名称\n");

execl("hello.exe","1hello","2hello",NULL);

printf("进程已经被递交给了hello.exe,这里不会再执行");

return 0;

}

hello.c

#include stdio.h

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

{

int i;

printf("命令行参数有%d个,分别是:\n",argc);

for(i=0;iargc;i++)

printf("%s\n",argv[i]);

return 0;

}

除了execl

还有spawnl:


标题名称:c语言配置主函数参数 c语言的主函数名
网站网址:http://cdkjz.cn/article/ddseisp.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220