A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fengcommon 中级黑马   /  2015-11-22 23:54  /  2262 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

定义有返回值主函数,int main(){ },为什么有时候函数体后面需要加一句return 0;才能运行,有时候不需要也能运行?

13 个回复

倒序浏览
你开头写的是int mian() 而函数都需要有返回值,返回值的表示就是return int类型的数  
这是最正确的写法 但很多编译器做了优化,任务执行到最后一个}就是函数结束了
回复 使用道具 举报
main函数有返回值 为int类型
回复 使用道具 举报
好像真的是,主函数有时候不要返回值也能运行
回复 使用道具 举报
l5681065 发表于 2015-11-24 17:46
你开头写的是int mian() 而函数都需要有返回值,返回值的表示就是return int类型的数  
这是最正确的写法 但 ...

是的,定义有返回值类型的,有return是正确的,有时候没有也能正常运行,就是这里不明白
回复 使用道具 举报
MillerD 发表于 2015-11-24 22:22
好像真的是,主函数有时候不要返回值也能运行

有搞清楚原因么?求教
回复 使用道具 举报
MillerD 发表于 2015-11-24 22:22
好像真的是,主函数有时候不要返回值也能运行

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

而    严格意义上来讲:int main函数是有返回值的函数,因此在函数语句块结束后要有个return int(返回数据类型)型数据;不写return当然不会影响程序执行,             希望以上解答可以帮到你!谢谢!!
回复 使用道具 举报
yako 中级黑马 2015-11-27 23:15:18
14#
return 后面的数值要怎么写啊?return 100和return 101对于程序最后的运行结果有什么影响吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马