主函数最后为何要来个return 0;?不来会怎样,还有return 0 跟return 有什么区别

如题所述

因为主函数是有整数型返回值的,所以需要return 0,不使用的话,程序编译会报错。

两者区别如下:

一、使用时机不同

1、return 0:在主函数没有返回值的情况下使用,指代返回值。

2、return:在表示程序段结束时候使用,表示部分程序段结束。

二、内存机制不同

1、return 0:整个程序段结束,内存中存储的变量释放。

2、return:部分程序段结束,内存中存储的变量不会释放。


三、程序执行顺序不同

1、return 0:程序完全停止执行。

2、return:程序跳过部分程序段,继续执行下一个程序段。

参考资料来源:百度百科-return

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-07
因为你声明的main函数是有返回值的话,那么你必须返回一个给定类型的值。比如int main() 就需要返回一个int类型的值,通常用0,因为操作系统的习惯是认为返回0是正常退出。
当你声明一个函数返回类型为void时,直接用return;就可,表示函数返回,但是不返回值。追问

函数返回是什么意思?跟函数结束有什么区别吗?

return 0只能用在主函数上吗?还是说副函数上都可以用?

如果函数不是Int 类型的呢

追答

函数返回表示函数主体执行完成之后主动退出的触发操作,函数执行到return 后会退出函数返回调用位置。函数结束的标志就是return语句的执行,所有的函数必须有返回,无论是void还是其他类型,这是从汇编来的概念,函数返回表示函数执行结束。
C里边函数的约定是这样的,所有函数都必须返回如其所声明一样的返回类型值,void可以直接写return;或者省略(此时以到达函数体结束为返回点,编译器自动返回)。
函数返回是一个很重要的概念,返回的意思是指对调用的响应的结果,一般而言简单类型直接返回,复杂类型要使用指针。
所有函数都是有返回的,所谓的无返回指的是没有返回值,即返回void类型。

本回答被提问者采纳
第2个回答  2013-02-20
那就是主函数有设置返回类型,主函数中间部分如果没有return任何东西,那么就可能是为了适应主函数
第3个回答  2013-02-17
补充LS:int main()不写return的话也行,系统默认return 0。
相似回答