return返回值的作用

    xiaoxiao2021-12-14  21

    return 是函数返回值,返回函数运行得到的计算结果,main的返回值用于说明程序的退出状态如果返回0,则代表程序正常退出,否则代表程序异常退出。有些编译器在程序末尾没有return语句的时候会自动加上“return 0;”,有些则不会。

    一、return在main函数中的作用:

    为了便于理解,在win7环境下,基于VS2010编译器,首先编译了下面的程序:

    int main() { cout<<"hello world"<<endl; return 0; }

    然后打开附件里的“命令提示符”,在命令行里(键盘win+R打开“运行”窗口,输入“cmd”进入命令行窗口,输入"cd /d exe文件的路径",示例如下:)运行刚才编译好的可执行文件,然后输入“echo %ERRORLEVEL%”,回车,就可以看到程序的返回值为 0 。

    进入命令行示例:

    假设刚才编译好的文件是 test.exe ,如果输入“test && dir”,则会列出当前目录下的文件夹和文件。但是如果改成“return -1”,或者别的非 0 值,重新编译后输入“test && dir”,则 dir 不会执行。因为 && 的含义是:如果 && 前面的程序正常退出,则继续执行 && 后面的程序,否则不执行。

    返回值为0时的运行结果:

    返回值为1时的运行结果:

    也就是说,利用程序的返回值,我们可以控制要不要执行下一个程序。

    这就是 int main 的好处。如果你有兴趣,也可以把 main 函数的返回值类型改成非 int 类型(如 float),重新编译后执行“a && dir”,看看会出现什么情况,想想为什么会出现那样的情况。顺便提一下,如果输入 a || dir 的话,则表示如果 a 异常退出,则执行 dir 。

    二、return在普通函数中的作用(暂且这样表达,大家明白即可,嘿嘿~)

    (1)返回一个值

    (2)函数退出

    用一个实例说明:

    int test() { return 0; cout<<"hello world!"<<endl; return 1; } int main() { cout<<test()<<endl; return 0; }运行结果为:

    大家可以看到test函数中并没有运行return 0后的语句,而是直接退出了。

    附:当函数的返回值为void时,也可以用return语句来退出函数。下面用一个示例说明:

    void main() { return; cout<<"hello world!"<<endl; return; //此行可以省略 }运行结果为:

    可见:返回值为void时,return语句不能带数值。

    转载请注明原文地址: https://ju.6miu.com/read-963447.html

    最新回复(0)