这是一个简短的问题,我进行了搜索,但找不到任何可以回答我问题的内容。
在 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/