关于main函数带参的一些说明

刚开始还不知道main函数带个参数有什么用,后来发现很多可执行文件都是main函数带参的,那些带有选项的命令行命令就是这样的程序。比如ping -h,-h就是个参数。

下面是我刚刚得到的对main函数带参数的理解:

main函数带的参数是有规定的,必须是两个参数,第一个是字符串个数(包括可执行文件名也算一个字符串),第二个是指向数组的指针。
执行的时候格式:可执行文件名 字符串1 字符串2 字符串3 ...
注意,执行的时候不能输入第一个参数(字符串个数),这个参数是系统根据你后面输入的字符串个数自动计算出来的,值是你输入的字符串个数再加1,因为可执行文件名也算一个字符串,另外,字符串数组中的第0个元素也是这个可执行文件名。

下面是一个例子:

编译完成之后在命令提示行下面运行生成的可执行文件,后面输入参数即可。

/***********************************************
         main函数带参数的测试程序
            mubo   2009-1-10
***********************************************/

#include "stdio.h"

void info()
{
    printf("Information:/n");
    printf("    main function with parameter test/n");
    printf("    version: 1.0/n");
    printf("    auther: mubo/n");
    printf("    date: 2009-1-10/n");
}
void help()
{
    printf("Options:/n");
    printf("    -h : help infomation/n");
    printf("    -i : the information of this programme/n");
    printf("    -a : say Hello to you/n");
}
int main(int argc, char *argv[])
{
    if (argc>2)
        printf("Too many parameter!/n");
    else if(argc<2)
    {
        printf("please give an option/n");
        help();
    }
    else
    {
        if( (*argv[1] != '-') && (*argv[1] != '/') )
        {
            printf("error parameter!/n");
            help();
        }

else
        {
            switch(*(argv[1]+1))
            {
                case 'h':
                    help();
                    break;
                case 'i':
                    info();
                    break;
                case 'a':
                    printf("a - Hello!/n");
                    break;
                default :
                    printf("Bad option");
                    help();
                    break;

}
        }
    }
    return;
}

main函数带参作用相关推荐

  1. linux文件编程(3)—— main函数传参、myCp(配置成环境变量)、修改配置文件、整数和结构体数组写到文件

    参考:linux文件编程(3)-- 文件编程的简单应用:myCp.修改配置文件 作者:丶PURSUING 发布时间: 2021-04-09 23:45:05 网址:https://blog.csdn. ...

  2. Linux下main函数带参数问题和atoi函数详解

    1.main函数带参数 基本格式:main(int argc,char * argv[]) argc参数保存命令行参数的个数,是整形变量 具体用法可有如下代码看下: a1.c: #include &l ...

  3. main函数带命令行参数的使用

    假设程序编译后生成的可执行文件为mycal.exe..在命令行提示符下,通过在windows开始菜单执行cmd命令,出现:c:>,键入mycal 100+200 运行的结果为 300:键入myc ...

  4. main函数带参数C程序设计模板

    /* 一个main含参程序的C语言设计模板,只需在结构体初始化中输入各个参数的性质及内容,就可以自动将参数分拣入结构体中. 命令执行方式如: 程序名 -a 参数1 -b 参数2 程序名 -?[-h] ...

  5. 函数用计算机代码,用main函数传参做简单的计算器的代码

    首先要说明一下,我是新手,下面的代码是我没有简化的代码,如果可以的话,请各位大牛指出简化的地方.谢谢. #include #include int main(int argc,char * argv[ ...

  6. c语言主函数名用户指定,C语言允许main函数带形参,且形参个数和形参名均可由用户指定。()...

    听力原文:W: Oh, Ken, I have been meaning to talk to you.M: Hi, Denise! What's up?W: I have this great jo ...

  7. c语言 方程改main的值_c语言main函数里的参数argv和argc解析

    前言 一般我们平时写main函数的话,一般都是写不带参数的比较多,而且也习惯了这样写:其实标准的形式写法,main函数是带两个参数的,这两个参数分别是:argc和argv,那么这两个参数是表示什么意思 ...

  8. 你真的了解main函数吗?

    大家好,我是KookNut39,在CSDN写文,分享一些自己认为在学习过程中比较重要的东西,致力于帮助初学者入门,希望可以帮助你进步.最近在更新C/C++方面的知识,感兴趣的欢迎关注博主,可以去专栏查 ...

  9. C++:Main函数参数列表及参数类型转换

    有三个问题待解决: 1.C/C++ main函数参数意义 2.怎么向main函数传参 3.传进来的参数类型是什么?怎么类型转换? 下面来分别分析! 首先,看代码,然后分析. int main(int ...

最新文章

  1. Hbase基础(特点、架构、应用场景、集群搭建、HA设计)这一篇就够了
  2. python中常见的数据类型_Python中常见的数据类型总结(四)
  3. 从理论支撑到具体应用,万字长文详述 CV 中 Transformer 的广阔天地
  4. [译]React Component最佳实践
  5. 更改Ubuntu终端复制和粘贴的快捷键
  6. esp8266舵机驱动_arduino开发ESP8266学习笔记四—–舵机
  7. 苹果自研 M1 芯片性能强大,却不支持 Docker ?
  8. delphi 检测网络是否连通_WebRTC:连接建立过程的网络穿透
  9. ROS机器人程序设计课程反思-2022终篇-
  10. vue下载与安装详细教程
  11. MATLAB曲线平滑的办法
  12. Windows11 正式版 iso镜像下载
  13. Typo in static class property declarationeslint
  14. 团体项目搜查令更新一
  15. java 微信自动回复功能开发
  16. uni-app 190扫一扫加入群聊功能(二)
  17. 【转载】第三方支付业务如何测试
  18. win10升级nvidia、cuda、cudnn,非常简单
  19. cocos2d-js 游戏源码
  20. 怎么判断机械表上满弦_腕表冷知识,知道两个以上算我输!

热门文章

  1. 什么叫轻量瓷_什么是汽车轻量化 汽车轻量化技术剖析
  2. 第七届计算机信息素养大赛,第七届全国大学生计算机应用能力与信息素养大赛技术规范.PDF...
  3. 基于asp.net723久久婚庆网站
  4. 项目实施:如何有效的进行ERP培训
  5. 20 个JavaScript基本代码片段,解决你日常开发中的常见问题
  6. 2020年,Android开发想自学可能吗,大概要多久?
  7. win10安装工具下载安装系统的教程,win10系统安装
  8. 【视频教程】UG NX CAM 加工模块二次开发 视频教程
  9. Miracast概述(一)
  10. 小风扇上日本亚马逊需要做什么认证