黑马程序员技术交流社区

标题: 有无返回值问题 [打印本页]

作者: 王海江1    时间: 2014-6-14 20:32
标题: 有无返回值问题
本帖最后由 王海江1 于 2014-6-15 23:38 编辑

一个函数名前面如果加int,这个函数是否必须得有返回值啊??

李明杰老师在视频里说可以没有返回值,
我的老师说必须得有返回值。。

可以没有还是必须有呢?????
作者: huangqiwa    时间: 2014-6-14 23:42
return返回的数值由程序的作者自定。返回不同的值可以代表不同的含义,一般是代表出错的原因,传统上返回0代表程序正常结束。
         main 函数的返回值用于说明程序的退出状态。如果返回 0,则代表程序正常退出,否则代表程序异常退出。
         在 C89(C语言的早期标准)中,main() 是可以接受void返回值的。Brian W. Kernighan 和 Dennis M. Ritchie 的经典巨著 The C programming Language(《C 程序设计语言》)用的就是void main( )。不过在最新的 C99 标准中,只有以下两种定义方式是正确的:
int main( void )
int main( int argc, char *argv[] )
如果你不需要从命令行中获取参数,请用 int main( void ) ;否则请用 int main( int argc, char *argv[] ) 。
main 函数的返回值类型必须是 int ,这样返回值才能传递给操作系统。

我觉得还是看编译器吧,有些编译器不会报错,有些会
但是从规范的角度来说,还是需要写int,上文已经写的很清楚了!
如果你写了int 不写return 有些编译器会自动加上,有些不会,具体实践见真理吧!




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