使用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"); }