使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。
例如:命令行参数输入:test.exe -a 1 2
执行1+2输出3
#define _CRT_SECURE_NO_WARNINGS 1
#include"stdio.h"
#include"stdlib.h"
#include"assert.h"
test.exe -a 1 2 test.exe相当于argv[0],argv[1] -a /-s/-m等,
test.exe -s 12 5 分情况,是a 还是 s 时,则取得是argv[1]+1的位置 -m -d
库函数为atoi
“1234”转换为1234,
方法:ret=0;
ret=ret*10+3
int Add(int x, int y)
{
return x + y;
}
int Sub(int x, int y)
{
return x - y;
}
int Mul(int x, int y)
{
return x * y;
}
int Div(int x, int y)
{
return x / y;
}
int main(int argc,char*argv[],char *envp[])
{
int ret = 0;
if (argc != 4)
{
printf("参数有误");
return 0;
}
//没有误走这
switch (*(argv[1] + 1))
{
case 'a':
ret=Add(atoi(argv[2]), atoi(argv[3]));//由于argv[2],argv[3]是char*形式,要转换为int 型,用到atoi
break;
case 's':
ret = Sub(atoi(argv[2]), atoi(argv[3]));
break;
case 'm':
ret = Mul(atoi(argv[2]), atoi(argv[3]));
break;
case 'd':
ret = Div(atoi(argv[2]), atoi(argv[3]));
break;
default:
printf("参数有误:%s",argv[1]);
break;
}
printf("ret=%d\n", ret);
system("pause");
return 0;
}
设置参数在调试,属性里的配置属性中调试设置参数