我一直在阅读一个关于找到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???
}
}
答案 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;
附加到正文中,程序员不必关心它)。手动插入返回后,您为函数创建了另一个退出点。