首先,先理解 return 的作用
- 有返回值的函数:结束函数,返回一个值
- 没有返回值的函数:结束函数
1. n+n-1+...+2+1
int recur(int n) {
if (n == 1) // 终止条件
{
return 1;
}
int res = recur(n - 1); // 递:递归调用
return n + res; // 归:返回结果
}
会用到栈(stack),栈是一种数据结构 ,只能从表结构的一端来存取,所以表现为“先进后出”。如果没有返回值,会把函数压入栈中;如果有返回值,栈中函数会依次得到返回值从而被相继释放。