c语言中主函数命令行参数 c语言主函数的形式参数

C语言中的main函数参数作用在调用可执行程序时 , 可以通过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函数
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语言中主函数的参数有什么作用?1.main函数是程序的入口函数 , 每次程序执行都是从main,很多地方main函数都会带有参数:main (int argc,char *argv[])
2.简单的来说mian函数就是带有两个参数 , 第一个参数是一个整型变量,第二个参数是一个指向字符串的指针数组 。

推荐阅读