黑马程序员技术交流社区

标题: main函数为什么我不加return 0,函数还能执行 [打印本页]

作者: 丶白菜你个小番    时间: 2014-7-10 23:32
标题: main函数为什么我不加return 0,函数还能执行
  1. #include<stdio.h>
  2. int main()
  3. {
  4. printf("aaaa\n");
  5. }
复制代码

直接就能运行
作者: huangqiwa    时间: 2014-7-10 23:59
C语言是弱于法,你不写return 编译不会报错, 实际上编译器会自动给你加上return!有的时候编译器做了很多事情,我们不知道而已
作者: 且行且惜    时间: 2014-7-11 00:01
你还是观察不认真,编译的时候,编译器肯定有提示的,有个警告,因为警告不会影响程序的正常运行,所以可以继续运行的,你可以再编译一次看看有没有警告!!!
作者: 爱情路13号    时间: 2014-7-11 00:03
return 0;是函数运行之后告诉操作系统程序运行完了,main函数中一般都要加return 0;相当于返回值。即使没有加return 0;系统也会自动加上这一句。但是有的编译器不会加上这一句,运行的时候可能会警告。为了保证程序的可移植性,一般在编写的时候都会带上return 0;
作者: 骑着飞机去看海    时间: 2014-7-11 00:08
没有返回值,则不会结束,你在往后看,看到函数就懂了。
作者: fantacyleo    时间: 2014-7-11 00:23
当你在操作系统中运行编译生成的可执行文件时,操作系统会在你的可执行文件的main函数调用之后加入一条exit函数调用,exit函数就能够返回系统
作者: hm123tinghai    时间: 2014-7-11 01:24
定义成int型的函数理论上最终都应当产生返回值,意义在于在各个函数中调用自定义函数也就是调用那个返回值。return 0;不是固定的,也不是标识程序的结束,你也可能return a;看你要返回什么结果了。main函数只是程序的入口,一般用不到返回值,不写return相对于int main不合适,如果你把函数定义成void型也就是无返回值类型就不需要写return语句。(void main)
作者: 楠瓜果    时间: 2014-7-11 14:20
其实你也可以这样理解,return 0;相当于c语言中一个main函数的结束体!不写程序就结束不了,肯定就不能执行的
作者: 54lier    时间: 2014-7-11 15:07
编程习惯,最好都加上return 如果正常执行完毕return 0,错误 return -1,而且这里有返回值,最好返回,就算是编译不报错,也养成习惯返回一个int
作者: chengnuoaini030    时间: 2014-7-11 19:46
是你省略不写,但是自动给你加上了  只是你不知道
作者: AndyWang    时间: 2014-7-11 22:49
return 0 表示函数结束的意思 不加的话 编译不会报错 但是可能会有警告 不影响程序运行
作者: 周田金    时间: 2014-7-11 23:17
我们以前学c都没什么return
作者: 幕夏    时间: 2014-7-11 23:29
我也是一直有这个问题。不过不管编译器怎样,还是按照C语言标准来写代码,除了void函数不写返回值外其他函数得写return.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2