关于int main(int argc,char *argv[])的问题

本文详细介绍了C语言中main()函数的定义与使用方法,包括其参数argc、argv和env的作用及示例程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

main()主函数     
    
            每一C     程序都必须有一main()函数,     可以根据自己的爱好把它放在程序的某     
    个地方。有些程序员把它放在最前面,     而另一些程序员把它放在最后面,     无论放     
    在哪个地方,     以下几点说明都是适合的。     
            1.     main()     参数     
            在Turbo     C2.0启动过程中,     传递main()函数三个参数:     argc,     argv和env。     
              *     argc:       整数,     为传给main()的命令行参数个数。     
              *     argv:       字符串数组。     
                                在DOS     3.X     版本中,     argv[0]     为程序运行的全路径名;     对DOS     3.0     
                                以下的版本,     argv[0]为空串("")     。     
                                argv[1]     为在DOS命令行中执行程序名后的第一个字符串;     
                                argv[2]     为执行程序名后的第二个字符串;     
                                ...     
                                argv[argc]为NULL。     
              *env:       安符串数组。env[]     的每一个元素都包含ENVVAR=value形式的字符     
    串。其中ENVVAR为环境变量如PATH或87。value     为ENVVAR的对应值如C:/DOS,     C:     
    /TURBOC(对于PATH)     或YES(对于87)。     
            Turbo     C2.0启动时总是把这三个参数传递给main()函数,     可以在

用户程序中     
    说明(或不说明)它们,     如果说明了部分(或全部)参数,     它们就成为main()子程序     
    的局部变量。     
            请注意:     一旦想说明这些参数,     则必须按argc,     argv,     env     的顺序,     如以下     
    的例子:     
              main()     
              main(int     argc)     
              main(int     argc,     char     *argv[])     
              main(int     argc,     char     *argv[],     char     *env[])     
            其中第二种情况是合法的,     但不常见,     因为在程序中很少有只用argc,     而不     
    用argv[]的情况。     
            以下提供一样例程序EXAMPLE.EXE,       演示如何在main()函数中使用三个参数:     
              /*program     name     EXAMPLE.EXE*/     
              #include     <stdio.h>     
              #include     <stdlib.h>     
              main(int     argc,     char     *argv[],     char     *env[])     
              {     
                        int     i;     
                        printf("These     are     the     %d       command-     line       arguments     passed       to     
                                        main:/n/n",     argc);     
                        for(i=0;     i<=argc;     i++)     
                            printf("argv[%d]:%s/n",     i,     argv[i]);     
                        printf("/nThe     environment     string(s)on     this     system     are:/n/n");     
                        for(i=0;     env[i]!=NULL;     i++)     
                                  printf("     env[%d]:%s/n",     i,     env[i]);     
              }     
            如果在DOS     提示符下,     按以下方式运行EXAMPLE.EXE:     
            C:/example     first_argument     "argument     with     blanks"       3       4       "last       but     
    one"     stop!     
            注意:     可以用双引号括起内含空格的参数,     如本例中的:         "       argument     
    with     blanks"和"Last     but     one")。     
            结果是这样的:     
              The     value     of     argc     is     7     
              These     are     the     7     command-linearguments     passed     to     main:     
              argv[0]:C:/TURBO/EXAMPLE.EXE     
              argv[1]:first_argument     
              argv[2]:argument     with     blanks     
              argv[3]:3     
              argv[4]:4     
              argv[5]:last     but     one     
              argv[6]:stop!     
              argv[7]:(NULL)     
              The     environment     string(s)     on     this     system     are:     
              env[0]:     COMSPEC=C:/COMMAND.COM     
              env[1]:     PROMPT=$P$G                           /*视具体设置而定*/     
              env[2]:     PATH=C:/DOS;C:/TC               /*视具体设置而定*/    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值