• 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

  • 相关阅读:
    真正的e时代
    在线手册
    UVA 10616 Divisible Group Sums
    UVA 10721 Bar Codes
    UVA 10205 Stack 'em Up
    UVA 10247 Complete Tree Labeling
    UVA 10081 Tight Words
    UVA 11125 Arrange Some Marbles
    UVA 10128 Queue
    UVA 10912 Simple Minded Hashing
  • 原文地址:https://www.cnblogs.com/wxl845235800/p/9017075.html
Copyright © 2020-2023  润新知