c - 带返回的 C 函数类型的递归

标签 c recursion

这是一个简短的问题,我进行了搜索,但找不到任何可以回答我问题的内容。

在 C 中执行递归函数时,即使使用 void 函数也需要返回值吗?

例如:

    void addToLL(structA_ptr new, structA_ptr cur) {
        if (cur->next == NULL) {
             cur->next = new;
        } else {
             addToLL(new, cur->next);
        }
    }

我需要在调用函数之前放置一个 return 关键字吗? 我知道如果函数要返回某些东西,比如在 LL 中搜索某些东西,它就需要一个 return 语句。

最佳答案

不,你不需要它。

长答案: 你的递归函数像其他任何函数一样执行,如果没有遇到递归调用,它就会被终止。您不需要明确的返回。如果您想提前退出该功能,您可以使用。

关于c - 带返回的 C 函数类型的递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1894423/

相关文章:

recursion - 为什么 F# 对堆栈大小施加下限?

java - 如何在 Java 中使用递归保留信息

c++ - 指针地址

c - 解析整数并打印出字符

c++ - 库包 pcre-8.37 中的文件 pcre.h 在哪里

c - 偶数的平均值和所有奇数的乘积

javascript - 树递归: How to get the parent root of the selected tree node

c - "Robot Arm moving block stacks"C 编程挑战

algorithm - 如何解决给定算法的递归?

c - 如何获取 Mac OS X 的 C 包中所有库的列表?