因为涉及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;
}
程序结果
首先在linux下生成可执行文件text
gcc text.c -o text
- 加法测试:
./text -a 1 2
- 减法测试:
./text -s 1 2
- 乘法测试:
./text -m 1 2
- 除法测试:
./text -d 6 2
本文介绍了一个简单的C语言实现的命令行计算器程序,该程序能够根据用户输入的命令行参数执行加、减、乘、除四种基本运算。通过解析命令行参数,程序能够灵活地进行数学计算。

1614

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



