gpt4 book ai didi

c - 是否有必要将 return 置于 void 递归中?

转载 作者:行者123 更新时间:2023-12-02 07:57:31 28 4
gpt4 key购买 nike

如果问题已经问过,请随意将此帖子作为重复,我还没有找到与此相同的帖子

据我所知,没有必要returnvoid 功能 ,例如:

void ex () {printf ("Hi\n");}

但是,如果没有 return 可以吗?在 void 递归 ?我在想的是,程序会继续调用 func (num-1)直到到达 0它返回所以它不打印 0到输出,我需要 return在函数的末尾,所以在递归调用完成后,你回到之前的 func ()立即调用者。

这是代码,
#include <stdio.h>

void func (int num)
{
if (!num) return;
func (num-1);
printf ("%d\n", num);

return; //Is it necessary to put return here?
}

int main ()
{
func (10);

return 0;
}

输出,
1
2
3
4
5
6
7
8
9
10


没有最后 return ,它也工作得很好,还是我遗漏了什么?

最佳答案

返回类型为 void 的函数不需要显式 return .简单地到达函数的末尾将正确返回。

对于也是递归的 void 函数也没有什么不同。第一个return在您的函数中是必需的,因为您希望它在到达函数末尾之前返回,但第二个不是必需的。

关于c - 是否有必要将 return 置于 void 递归中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61847768/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com