使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。
例如:命令行参数输入:test.exe -a 1 2
例如:命令行参数输入:test.exe -a 1 2
执行1+2输出3
Linux运行!!!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int add(x,y)
{
return x + y;
}
int sub(x,y)
{
return x - y;
}
int mul(x,y)
{
return x * y;
}
int rdiv(x,y) //c语言中的div函数,是将两个整数相除,返回商。所以要重命名
{
if(y == 0)
{
printf("div is 0!\n");//分母不为零
return -1;
}
else
{
return x / y;
}
}
int main(int argc,char *argv[])//int argc表示环境变量的个数
{ //char *argv[] 为存储具体环境变量的字符串指针数组
int x = atoi(argv[2]); //argv[0]其中第0个参数是程序的全名,以后的参数
//命令行后面跟的用户输入的参数
int y = atoi(argv[3]);
int ret = 0; //atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数
if(argc != 4)
{
printf("%s -[a|s|m|d] x y\n",argv[0]);
return 1;
}
if(strcmp("-a",argv[1]) == 0)
{
ret = add(x,y);
}
else if(strcmp("-s",argv[1]) == 0)
{
ret = sub(x,y);
}
else if(strcmp("-m",argv[1]) == 0)
{
ret = mul(x,y);
}
else if(strcmp("-d",argv[1]) == 0)
{
ret = rdiv(x,y);
}
else
{
printf("%s -[a|s|m|d] x y\n",argv[0]);
return 2;
}
printf("result: %d\n",ret);
return 0;
system("pause");
}