黑马程序员技术交流社区

标题: 关于return 0;语句问题,求教? [打印本页]

作者: fengcommon    时间: 2015-11-22 23:54
标题: 关于return 0;语句问题,求教?
定义有返回值主函数,int main(){ },为什么有时候函数体后面需要加一句return 0;才能运行,有时候不需要也能运行?
作者: l5681065    时间: 2015-11-24 17:46
你开头写的是int mian() 而函数都需要有返回值,返回值的表示就是return int类型的数  
这是最正确的写法 但很多编译器做了优化,任务执行到最后一个}就是函数结束了
作者: 一枚小刁民    时间: 2015-11-24 18:07
main函数有返回值 为int类型
作者: MillerD    时间: 2015-11-24 22:22
好像真的是,主函数有时候不要返回值也能运行
作者: fengcommon    时间: 2015-11-24 22:38
l5681065 发表于 2015-11-24 17:46
你开头写的是int mian() 而函数都需要有返回值,返回值的表示就是return int类型的数  
这是最正确的写法 但 ...

是的,定义有返回值类型的,有return是正确的,有时候没有也能正常运行,就是这里不明白
作者: fengcommon    时间: 2015-11-24 22:41
MillerD 发表于 2015-11-24 22:22
好像真的是,主函数有时候不要返回值也能运行

有搞清楚原因么?求教

作者: fengcommon    时间: 2015-11-24 22:43
MillerD 发表于 2015-11-24 22:22
好像真的是,主函数有时候不要返回值也能运行

知己

作者: 正在输入中...    时间: 2015-11-24 22:47
每种编译器的实现有过,他们在做语法处理的时候不一样,有的要求如果有返回值必须要有个return,有的则没有这个硬性要求。为了防止出错,如果有返回值,就return一下,肯定是没问题的。
作者: 黑马小向    时间: 2015-11-25 00:01
我只知道返回0就over
作者: 649685603    时间: 2015-11-25 00:03
我只知道返回0就over
作者: 米易雅克    时间: 2015-11-25 00:11
每种编译器的实现有过,他们在做语法处理的时候不一样,有的要求如果有返回值必须要有个return,有的则没有这个硬性要求。为了防止出错,如果有返回值,就return一下,肯定是没问题的。
除了void空函数不用return,int main()都要有返回值的,return有时有作为函数结束标志。最好看见函数(除void)除外,都带上。
作者: alen2015    时间: 2015-11-25 00:13
程序是由函数块构成,每个函数都有自己的函数类型,大的来说有两种:1,无返回值(void) ,此种函数return可以省略,2.有返回值(格式:函数类型  函数名(形参)),规范是必须要有return语句,如果没有在编译时会有warning,但不出错。
作者: alen2015    时间: 2015-11-25 00:19
alen2015 发表于 2015-11-25 00:13
程序是由函数块构成,每个函数都有自己的函数类型,大的来说有两种:1,无返回值(void) ,此种函数return ...

而    严格意义上来讲:int main函数是有返回值的函数,因此在函数语句块结束后要有个return int(返回数据类型)型数据;不写return当然不会影响程序执行,             希望以上解答可以帮到你!谢谢!!
作者: yako    时间: 2015-11-27 23:15
return 后面的数值要怎么写啊?return 100和return 101对于程序最后的运行结果有什么影响吗?




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