c语言中main函数用法及知识点总结
1、main函数是C程序的入口函数,即程序的执行从main函数开始,其他函数的调动也直接或间接地在main函数中调用。
2、main函数的返回值用于解释程序的退出状态。
若返回0,则表示程序正常退出。返回其他数字的含义由系统决定。通常返回非零代表程序异常退出。
实例
#include #include int main(int argc, char **argv) {int i = 0; printf("The program name is %s\n", argv[0]); printf("The command line has %d argument: \n", argvc - 1); for (i = 1; i < argc; i++) {printf("%s ", argv[i]); }return 0; }
知识点扩充:
每一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#includemain(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!【c语言中main函数用法及知识点总结】到此这篇关于c语言中main函数用法及知识点总结的文章就介绍到这了,更多相关c语言中main函数是什么内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 夜游宫|夜游宫 心语
- 跌跌撞撞奔向你|跌跌撞撞奔向你 第四章(你补英语,我补物理)
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 子龙老师语录
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 【生信技能树】R语言练习题|【生信技能树】R语言练习题 - 中级
- 小学英语必考的10个知识点归纳,复习必备!
- 六步搭建ES6语法环境
- 一起来学习C语言的字符串转换函数
- C语言字符函数中的isalnum()和iscntrl()你都知道吗