C++中的return返回值:return0 or return -1?

 C++98 中定义了如下两种 main 函数的定义方式:  

int main( )  

int main( int argc, char *argv[] )  

(参考资料:ISO/IEC 14882(1998-9-01)Programming languages — C++ 3.6 Start and termination)

 int main( ) 等同于 C99 中的 i

nt main( void ) ;

int main( int argc, char *argv[] ) 的用法也和 C99 中定义的一样。同样, main 函数的返回值类型也必须是int。如果main函数的末尾没写return语句,C++98 规定编译器要自动在生成的目标文件中加入 return 0; 。同样,vc6 也不支持这个特性,但是 g++3.2(Linux 下的 C++ 编译器)支持。

 

返回值的作用 

main 函数的返回值用于说明程序的退出状态。

如果返回 0,则代表程序正常退出,否则代表程序异常退出。

下面我们在 winxp 环境下做一个小实验。首先编译下面的程序: 
int main( void ) 

return 0; 

然后打开附件里的“命令提示符”,在命令行里运行刚才编译好的可执行文件,然后输入“echo %ERRORLEVEL%”,回车,就可以看到程序的返回 值为 0。假设刚才编译好的文件是 a.exe ,如果输入“a && dir”,则会列出当前目录下的文件夹和文件。但是如果改成 “return -1”,或者别的非 0 值,重新编译后输入“a && dir”,则 dir 不会执行。因为 && 的含义是:如果 && 前面的程序正常退出,则继续执行 && 后面的程序,否则不执行。也就是说,利用程序的返回 值,我们可以控制要不要执行下一个程序。这就是 int main 的好处。如果你有兴趣,也可以把 main 函数的返回值类型改成非 int 类型 (如float),重新编译后执行“a && dir”,看看会出现什么情况,想想为什么会出现那样的情况。顺便提一下,如果输入 a || dir 的话,则表示如果 a 异常退出,则执行 dir 。 

 

c++中关于return的用法总结 - CSDN博客 https://blog.csdn.net/lchunli/article/details/4786513

 

原文链接: https://www.cnblogs.com/wxl845235800/p/9017075.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++中的return返回值:return0 or return -1?

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/273611

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 下午11:44
下一篇 2023年2月14日 下午11:44

相关推荐