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';报错了
把这个return去掉没有有输出错误余冲悄
但是在编译时有警告
这里是向主函数返回一竖渣个0值
;
其他函数基本都要用到return语判冲句;
只是其返回的值不同
主函数也是函数 应该有返回值
return是指定一个函数的反回值。也就是这个函数的输出接口,通俗点讲就是这个函数他本身代表的一个变量,或是一个对象。这个和函数内春败的东西是两个概念,假如现在有一个函数我们在这个函数中计算一个程序的结果,怎么让这个函数把这个结果传给别的函数用呢?这里就要用把返回值。把计算出来的结果,反还给这个函数,然后别的函数在调用这个函数的同时也会得到这个函数反回的结果,如果把函数比做一个人,那么当你要你弟弟帮你切开西瓜,你弟弟就是这个函数,现在你弟弟切开了西瓜,但他只是切开了,怎么样你得到这个西瓜呢。还要你弟弟给切开后给你送过来,这样你就得到了这个反回值。注明为void的函数是扒喊颤没有返回值渗仔的,int的就是整型的反回值。这样了解了吧?
C++标准规定main函数的返回值是int型,所以让戚要在最后使用return语句返回一个值。这个值会返回给操作系统,返回0表示程序运行成功,返回非零值表示程序遇到问题。你把return 0;去掉程序还坦仔陵能运行是因为C++标准规定如果main函数没有返回语句,则认为是以return 0;结束的,也就是说你把这句去掉的话,编译器会自动帮你加上去的。
顺便说一下,void main()这种形式并不符合C++标准,只是有些编译器戚烂并不严格遵守C++标准,所以可以使用这种形式。不过最好不要使用这种形式,应该使用C++标准的int main()。