扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
C语言的带参数的main函数格式为main(int argc,char* argv[]),其中argc为参数个数加1,argv为参数列表,从argv[1]开始。编译后生成可执行文件,可以在执行的程序后加参数,比如编译一个程序为test.exe,则在执行时可以输入:
创新互联建站专注于企业营销型网站建设、网站重做改版、眉县网站定制设计、自适应品牌网站建设、H5响应式网站、购物商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为眉县等各大城市提供网站开发制作服务。
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
函数的参数分为形参和实参两种。
形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。
形参和实参的功能是作数据传送,发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。
举个例子:
定义一个函数s=f(a,b),功能是将a和b的差赋值给s,那么,a和b就是这个函数的两个参数。
扩展资料:
C语言的参数传递方式
方法有3种方式:值传递、地址传递、引用传递
tips:
被调用函数的形参只有函数被调用时才会临时分配存储单元,一旦调用结束占用的内存便会被释放
值传递和地址传递,传递的都是实参的一个拷贝
C语言中实参和形参之间的数据传递是单向的“值传递”,单向传递,只能由实参传给形参,反之不行
输出格式并没有选择%p而是选择了%d,因为十进制的数看起来更直观。
值传递
如果只是传递值的话:
#include stdio.h
//值传递传值
void swap( int x, int y);
int main()
{
int a=2,b=3;
printf("before:实参为a,b\na=%d,地址为%d\nb=%d,地址为%d\n\n",a,a,b,b);
swap(a,b);
printf("after:实参为a,b\na=%d,地址为%d\nb=%d,地址为%d\n\n",a,a,b,b);
return 0;
}
void swap(int x,int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf("inside:形参为x,y\nx=%d,地址为%d\ny=%d,地址为%d\n\n",x,x,y,y);
}
在调用可执行程序时,可以通过main函数的参数将命令行的调用参数传递给main函数。
事实上,main()函数既可以是无参函数,也可以是有参的函数。对于有参的形式来说,就需要向其传递参数。
从函数参数的形式上看,包含一个整型和一个指向字符指针的指针。当一个C的源程序经过编译、链接后,会生成扩展名为.EXE的可执行文件(对windows操作系统而言),这是可以在操作系统下直接运行的文件,换句话说,就是由系统来启动运行的。由系统在启动运行时传递参数。
在操作系统环境下,一条完整的运行命令应包括两部分:命令与相应的参数。其格式为:
命令参数1参数2....参数nt;
此格式也称为命令行。命令行中的命令就是可执行文件的文件名,其后所跟参数需用空格分隔,并为对命令的进一步补充,也即是传递给main()函数的参数。
命令行与main()函数的参数存在如下的关系:
设命令行为:program str1 str2 str3 str4 str5
扩展资料:
main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的激活者(如操作系统)。
如果 main 函数的最后没有写 return 语句的话,C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入return 0; ,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return 语句,虽然没有这个必要,但这是一个好的习惯。
也就是说在最新的C语言标准中强制要求main函数的返回值类型为int,main函数的返回值是传递给操作系统,让操作系统判断程序的执行情况(是正常结束还是出现异常)。
参考资料来源:百度百科-main函数
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流