main()函数

本文详细介绍了C语言中main函数的三种参数形式及其应用场景,包括argc、argv和env的具体含义与用法,并通过实例展示了如何利用这些参数实现命令行计算器的功能。

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);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值