C++中return 0的作用

请看下面的这段程序

#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world!" << endl;
return 0;
}

----------------------------------------------------
1.删去return 0后,程序依然正常,结果不变。
2.将0改为其它数字亦可,但改为字母会出错。

有人说,把int改为void后,就不必加return 0
但是,我没有更改类型,删去return 0后依然没出现问题。
请问return 0的实际作用?

return 0代表程序截止,这等同于任何一门语言中的return 0等于停止函数,return 0是必须写的,因为在低版本要求必须添加return 返回值,不然编译会失败

同时,return任何一个非0值都会有可能会被当作是程序错误所带来的返回值

如图:

c++ 4.2.1

Apple LLVM version 9.0.0 (clang-900.0.39.2)

Target: x86_64-apple-darwin17.2.0

测试代码为return 'a',return "a",return 1,其中只有return 'a';报错了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-20

第2个回答  2018-03-01
由于你的main函数说明需要返回一个整数作为返回值,因此要写return x;这里x可以是整型的常量、表达式、变量等。返回值可以在操作系统中读到,用于告诉调用程序者程序执行的状态信息(比如:正常返回,异常,出错,等等)
如果你写void main()那么在程序中返回语句可以写:return;如果这是最后一句还可以省略。
第3个回答  推荐于2016-07-11
写 void 可以,但c++标准从来就没有出现过main()这种函数。
通常main不写函数类型和返回值的话会默认为int 以及带有返回值,但后来的不同编译器的会有不同结果,写了int main 而没有return 0在VC6.0环境下会报错
------------------------->
下面有人说return 0 和 return EXIT_SUCCESS 一样 标志程序无错误退出 ,这是正确的,return 0 标志程序无错结束本回答被提问者采纳
第4个回答  2018-03-01
目的就是告诉操作系统这个程序正常退出了。
一般现代操作系统都不怎么依赖这项了;但一般还是建议正常运行结束返回0 。
相似回答