C ++中单独返回什么?

时间:2015-07-14 12:05:46

标签: c++ return-value

我一直在阅读一个关于找到gcd的例子,这是最大公约数,但它仅在以下代码中使用return。 那是什么意思?这样使用退货是否合法? 我已经搜索过这个,似乎没有什么能让我清楚。请..  这是代码:

void fraction::lowterms ()
{
    long tnum, tden, temp, gcd;// num  = numerator and den = denumator 
    tnum = labs (num);
    tden = labs (den);
    if ( tden == 0)
    {
        exit (-1);
    }
    else if ( tnum == 0)
    {
        num = 0;
        den = 1;
        return; //why return alone    used here???
    }
}

5 个答案:

答案 0 :(得分:5)

在这种情况下,除了终止函数之外什么都没有(无论如何都会发生)

此函数的返回类型为void,表示它不返回任何值。

但是,通常,return语句会停止该函数,返回指定的值,然后该函数中不再执行任何代码。在这种情况下,它位于函数的末尾,因此它不会添加任何内容。

答案 1 :(得分:4)

它结束函数的执行并将控制返回到调用函数的代码部分。

return关键字后面没有值,因为该函数的返回类型为void,因此 的返回值完全没有。

正如你的C ++书中所解释的那样!

答案 2 :(得分:1)

如果你觉得它更舒服,你可以

 return void();

相当于return;乍一看可能会产生误导。

答案 3 :(得分:0)

return主要用于返回调用函数。它不会在您的函数中执行以下指令。

例如:

void disp()
{
    1.....
    2.....
    return
    3....
    4....
}

这里它不会执行3和4个指令。

答案 4 :(得分:0)

每个函数最后返回调用者(更确切地说是调用后的命令),因此总是返回,即使在返回类型为void的函数中(编译器将return;附加到正文中,程序员不必关心它)。手动插入返回后,您为函数创建了另一个退出点。