扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
有参数,用于传递命令行位置参数到程序里.
公司主营业务:网站建设、成都做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出尼勒克免费做网站回馈大家。
例如:
输入长宽,计算矩型面积
void main(int argc,char *argv[]){
float area,w,h;
if (argc 3) {
printf("\007Usage:%s width height\n",argv[0]);
printf("for example:%s 12.3 4.5\n",argv[0]);
exit(0);
}
// 参数0 是程序名,argc参数个数
sscanf(argv[1],"%f",w); // 从参数1取得宽
sscanf(argv[2],"%f",h); // 从参数2取得高
area = w * h;
printf("area=%f\n",area);
exit(0);
}
命令行:
prog.exe 12.3 4.5
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
void hello(int i)
{
i+=5;
printf("%d",i);
}
这个函数的作用是打印一个比形参大5的数。
主程序中调用是hello(0) (j=0)
所以就打印一个5
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;
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流