c语言main函数使用及其参数介绍

每一C程序都必须有一main()函数,可以根据自己的爱好把它放在程序的某个地方。有些程序员把它放在最前面,而另一些程序员把它放在最后面,无论放在哪个地方,以下几点说明都是适合的。

在Turbo C2.0启动过程中,传递main()函数三个参数:argc,argv和env。
* argc:整数,为传给main()的命令行参数个数。
* argv:字符串数组。
char* argv[],我们可以看出,argv的类型是char* [],即是一个指向字符数组的指针,所以我们还可以写作:char** 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)。

TurboC2.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
#include
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 butone" stop!

注意:
可以用双引号括起内含空格的参数,如本例中的:"argumentwith blanks"和"Last but one")。 应该提醒的是:传送main()函数的命令行参数的最大长度为128个字符 (包括参数间的空格),这是由DOS限制的。

(0)

相关推荐

  • C语言之没有main函数的helloworld示例

    几乎所有程序员的第一堂课都是学习helloworld程序,下面我们先来重温一下经典的C语言helloworl 复制代码 代码如下: /* hello.c */  #include <stdio.h>    int main()  {      printf("hello world!\n");      return 0;  } 这是一个简单得不能再单的程序,但它包含有一个程序最重要的部分,那就是我们在几乎所有代码中都能看到的main函数,我们编译成可执行文件并查看符号表,

  • C语言中怎么在main函数开始前执行函数

    在gcc中,可以使用attribute关键字,声明constructor和destructor,代码如下: 复制代码 代码如下: #include <stdio.h> __attribute((constructor)) void before_main(){ printf("%s/n",__FUNCTION__);} __attribute((destructor)) void after_main(){ printf("%s/n",__FUNCTIO

  • C语言main函数的三种形式实例详解

    在C语言中,main()函数有三种形式. 1.无参数 #include <stdio.h> int main(void) { printf("Hello World!\n"); return 0; } 2.有两个参数 习惯上第一个参数是整型argc,保存了外部调用命令的参数个数,第二个参数是指针数组或二级指针argv,以字符串形式保存了与argc对应的参数,如下例子: #include <stdio.h> int main(int argc, char* arg

  • C语言main函数的参数及其返回值详细解析

    返回值的作用 main函数的返回值用于说明程序的退出状态.如果返回0,则代表程序正常退出:返回其它数字的含义则由系统决定.通常,返回非零代表程序异常退出.下面我们在winxp环境下做一个小实验.首先编译下面的程序:int main( void ){    return 0;}然后打开附件里的"命令提示符",在命令行里运行刚才编译好的可执行文件,然后输入"echo%ERRORLEVEL%",回车,就可以看到程序的返回值为0.假设刚才编译好的文件是a.exe,如果输入&

  • c语言main函数使用及其参数介绍

    每一C程序都必须有一main()函数,可以根据自己的爱好把它放在程序的某个地方.有些程序员把它放在最前面,而另一些程序员把它放在最后面,无论放在哪个地方,以下几点说明都是适合的. 在Turbo C2.0启动过程中,传递main()函数三个参数:argc,argv和env.* argc:整数,为传给main()的命令行参数个数.* argv:字符串数组.char* argv[],我们可以看出,argv的类型是char* [],即是一个指向字符数组的指针,所以我们还可以写作:char** argv.

  • C语言 main 函数详情

    目录 1.main() 2.void main() 3.int main(void) 4.int main () 5.int main(int argc,char *argv[]) 前言: 但凡是学过C语言的人,都知道要先写main函数,然而很多时候我们看到的main函数却各有差异,这究竟是为啥?哪种是对的呢?今天我们就来聊聊main函数.那么main函数一共有多少个版本呢? 1.main() 直接的mian()并没有返回值,没有入参.这种写法实际来说,部分编译器会显示警告,并且会返回默认值为i

  • 深入Main函数中的参数argc,argv的使用详解

    C/C++语言中的main函数,经常带有参数argc,argv,如下: 复制代码 代码如下: int main(int argc, char** argv) 这两个参数的作用是什么呢?argc 是指命令行输入参数的个数,argv存储了所有的命令行参数.假如你的程序是hello.exe,如果在命令行运行该程序,(首先应该在命令行下用 cd 命令进入到 hello.exe 文件所在目录) 运行命令为: 复制代码 代码如下: hello.exe Shiqi Yu 下面的程序演示argc和argv的使用

  • C语言main()函数的参数问题详解

    #include<stdio.h> void main(int argc, char* argv[]) { while (argc > 1) { ++argv; printf("%s\n", argv); --argc; } } #include<stdio.h> #include<stdlib.h> void main(int argc, char* argv[]) { int i; printf("The number of st

  • C语言中main函数与命令行参数详细讲解

    目录 一.main 函数的概念 二.main 函数的本质 命令行 三.main 函数的参数 四.main 函数一定是程序执行的第一个函数吗 五.小结 一.main 函数的概念 C语言中 main 函数称之为主函数 一个C程序是从 main 函数开始执行的 二.main 函数的本质 main 函数是操作系统调用的函数 操作系统总是将 main 函数作为应用程序的开始 操作系统将 main 函数的返回值作为程序的退出状态 下面看一下 main 函数的返回值: A.c: #include <stdio

  • Python3 main函数使用sys.argv传入多个参数的实现

    在运维过程中,有些时候需要向main函数中传递参数,以方便运维与测试,那么怎么向main函数中传入多个参数呢,下面以python3中的main函数为例,简单讲一下. 首先我们需要import sys,sys是python3的一个标准库,也就是一个官方的模块.封装了一些系统的信息和接口,然后再说说argv这个变量.「argv」是「argument variable」参数变量的简写形式,一般在命令行调用的时候由系统传递给程序.这个变量其实是一个List列表,argv[0] 一般是被调用的脚本文件名或

  • 详细聊一聊为什么Python没有main函数

    目录 前言 为什么必须强制main函数作为入口? 总结 前言 众所周知,Python中没有所谓的main函数,但是网上经常有文章提到“ Python的main函数”和“建议编写main函数”. 其实,可能他们是想模仿真正的main函数,但是许多人都被误导(或误解),然后编写了非常笨拙的代码. 在开始讨论之前,我们先来回答以下两个问题: 所谓的“main函数”究竟是什么意思? 为什么有些编程语言必须编写main函数? 一些编程语言将main函数作为程序的执行入口,比如C/C++.C#.Java.G

  • c语言中main函数用法及知识点总结

    1.main函数是C程序的入口函数,即程序的执行从main函数开始,其他函数的调动也直接或间接地在main函数中调用. 2.main函数的返回值用于解释程序的退出状态. 若返回0,则表示程序正常退出.返回其他数字的含义由系统决定.通常返回非零代表程序异常退出. 实例 #include <stdio.h> #include <string.h> int main(int argc, char **argv) { int i = 0; printf("The program

随机推荐