课程
/后端开发
/C
/C语言入门
代码如下:
#include<stdio.h> //自定义求和函数 int sum(int n) { return ( sum(n-1) + n ); } int main() { int n=10; printf("到第%d天,小明总共记了%d个单词。\n",n,sum(n)); return 0; }
从运行的结果看,是不行的,想知道为什么?
2015-07-06
源自:C语言入门 5-7
正在回答
当然不行,,你这里sum(n-1)一直往回溯上去溯不到一个初值啊,递归算法必须要报至能追溯到源头,这里n=1时候就是这个源头,必须要明确。
sanjiaofeng 提问者
我觉得相当于for。条件不足无法跳出递归。
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
2 回答自定义函数用return 0与不用有什么区别?
3 回答自定义函数自身能否作为返回值用?
2 回答if(){}中不能嵌套 else if(){} 么
2 回答怎么用自定义函数的函数定义
1 回答为什么前面定义的函数不能调用后面定义的函数?