递归函数里return到底有什么作用?删了也能照常运行啊。弹栈时也无返回值,函数返回类型也是void。

2025-02-06 10:58:38
推荐回答(4个)
回答1:

类型woid代表“无”,在这个情况下,return是可有可无的,它的目的也不在最后,而是在程序中如果你需要返回,就用得到了。比如

void to_binary( unsigned long n )
{
int r;
r = b % 2;
if ( n >= 2 )
to_binary( n / 2 );
if ( n == 1234567) {
    return; // 比如你如果想在这里加一个退出程序的出口,就用得到了
}
putchar( r == 0 ? '0' : '1' );
return;
}

回答2:

有return,可以提前结束函数
你这个在函数最后一行,没有意义
可以删掉。
最后一行的return只有在存在返回值的情况下才有实际意义

回答3:

你要理解 return的意思,就是结束当前方法,

回答4:

return在无返回值的函数的最后一行是没用的,也可以省略不写。如果出现在函数中间位置那就有用了。