.使用main函数的参数,实现一个整数计算器
因为涉及main函数参数,所以在linux 下面比较容易实现
int main(int argc, char *argv[], char *env[])
main的三个参数 :
int argc,表示命令行参数加上程序路径的个数,最小为一
char * argv[],表示main函数的命令行参数
char * env[],表示环境变量
首先要判断mian()函数的参数个数,如果小于4即,参数个数错误,代码如下
if( argc != 4)//判断参数个数
{
printf("error!\n");
}
然后判断处去程序路径得第一个参数,在argv[1]中,如“-a”,即判断argv[1][1],是什么,做出相应的计算,可以用swhich( )函数:
switch( argv[1][1] )
{
case 'a': ret = atoi(argv[2]) + atoi(argv[3]);break;
case 's': ret = atoi(argv[2]) - atoi(argv[3]);break;
case 'm': ret = atoi(argv[2]) * atoi(argv[3]);break;
case 'd': ret = atoi(argv[2]) / atoi(argv[3]);break;
default :printf("error!\n"); break;
}
代码实现 (环境 Linux)
#include <stdio.h>
int main(int argc,char *argv[])
{
int ret = 0;
if( argc != 4)//判断参数个数
{
printf("error!\n");
}
switch( argv[1][1] )
{
case 'a': ret = atoi(argv[2]) + atoi(argv[3]);break;
case 's': ret = atoi(argv[2]) - atoi(argv[3]);break;
case 'm': ret = atoi(argv[2]) * atoi(argv[3]);break;
case 'd': ret = atoi(argv[2]) / atoi(argv[3]);break;
default :printf("error!\n"); break;
}
printf("The result is %d\n",ret);
return 0;
}
运行结果: