带命令行参数的main函数和带参数main函数实现linux平台下命令形式的十以内加减乘除计算器

什么是带参数的main函数

在我们眼中的main函数长这样:void main(){} / int main(){},所以有人惊讶的问啦,main还是参数?是的,main函数的实际格式是这样的:

int main(int argc,char *argv[],char* envp[]){}

下面让我来分别介绍一下这三个参数:
1.int argc 是指传给main()函数的命令行参数个数,也就是告诉系统,一共传了几个参数
2.char* argv[]:字符串数组,也就是具体的传的参数都是什么,它由第一个变量统计个数
3.char* envp[]:这个字符串数组传递的是系统的环境变量了。具体什么是环境变量,我们后面再说。这个参数在很多的main介绍都是忽略的,可能是用户序言的不多吧。

十以内加减乘除计算器

既然现在我们已经初步了解了带命令行参数main函数,我们现在就用main函数写一个命令行的十以内加减乘除的计算器吧。

#include<stdio.h>
int main(int argc, char * argv[])
{
    int ret = 0;
    int num1 = argv[2][0] - '0';
    int num2 = argv[3][0] - '0';
    int i = 0;
    if (argv[1][0] == '-')
    {
        switch (argv[1][1])
        {
        case 'a': ret = num1 + num2; break;
        case 's': ret = num1 - num2; break;
        case 'm':ret = num1*num2; break;
        case'd':ret = num1 / num2; break;
        default:
            break;
        }
    }
    printf(" the result is %d\n", ret);
    return 0;
}

建议带命令行的函数在linux下完成调试,会更方便。如果想在vs等windows下的集成开发环境下完成编译,调试。参考:Windows下如何用vs调试带命令行参数的main函数

猜你喜欢

转载自blog.csdn.net/weixin_40921797/article/details/81806567
今日推荐