1 main函数的参数
C语言规定,main()函数可以有3个参数:argc、argv和env,格式如下:
main(int argc,char *argv[],char *cnv[]){ … }argc:整型,代表程序执行时传给main()函数的命令行参数的个数。
argv:字符串数组,argv[0]为程序运行时的完整路径和文件名。
env:字符串数组,env的每一个元素都包含形如"ENVVAR=value"形式的字符串, ENVVAR对应程序运行平台的环境变量,如DOS的PATH,提示符格式等。
/*main()函数的参数*/ #include <stdio.h>int f(); main(int argc,char *argv[],char *env[]){ int i; printf(“ main函数的参数/n/n”); printf(“传入的命令行参数共有%d个/n”,argc); for(i=0;i<argc;i++){ /*循环输出命令行参数*/ printf(“argv[%d]: %s/n”,i,argv[i]); } printf(“系统的环境变量如下:/n”); for(i=0;env[i]!=NULL;i++){ /*循环输出环境参数*/ printf(“env[%d]: %s/n”,i,env[i]); } }将以上程序保存为18.c,并在TC2.0的“Compile”菜单下执行“Make”命令,生成18.exe,然后在“cmd”中运行命令行如下:
18.exe Turbo C 2.0
执行结果如下:
![]()
传给程序的argv参数由命令行决定,参数之间以空格或Tab隔开。
argv参数至少有一个值——argv[0],即程序的完整路径和文件名。
main()的格式:
main(int argc) /*基本不用*/
main(int argc,char * argv[]) /*最常用*/
main(int argc,char * argv[],char * env[]) /*使用较少*/
2 带参数的main()函数的应用
命令行计算器
#include <stdio.h> #include <math.h> main(int argc,char *argv[]){ double a,b,s; char c; if(argc!=4){ printf("The number of arguments is error!"); exit(1); /*退出正在执行的程序*/ } a=atof(argv[1]); /*字符串型数字转化为double型数字*/ b=atof(argv[3]); c=argv[2][0]; switch(c){ case '+': s=a+b; break; case '-': s=a-b; break; case '*': s=a*b; break; case '/': s=a/b; break; default: printf("Operator is error!"); exit(1); } printf("%s %s %s = %f/n",argv[1],argv[2],argv[3],s); }
本文详细介绍了C语言中main函数的三种参数形式及其应用场景,包括argc、argv和env的具体含义与用法,并通过实例展示了如何利用这些参数实现命令行计算器的功能。


4580

被折叠的 条评论
为什么被折叠?



