课程
/后端开发
/C
/C语言入门
没有循环语句,直接输进去10,他只是10+9了,之前的呢,1到8呢,结果对了,但是不懂啊,求大神解释
2016-12-07
源自:C语言入门 5-7
正在回答
if条件判断就相当于是在循环了,word(n-1)+n函数,n初值为10,一共记到第10天,当if(n==1)时,return 1,返回1,第一天记得一个,所以就可以一直累加。
9+10
8+(9+10)
7+(8+9+10)
6+(7+8+9+10)
5+(6+7+8+9+10)
4+(5+6+7+8+9+10)
3+(4+5+6+7+8+9+10)
2+(3+4+5+6+7+8+9+10)
1+(2+3+4+5+6+7+8+9+10) // n==1时,return 1
慕斯7407225 提问者
我想明白了,我告诉你们
当getWordNumber(10)时,执行else return getWordNumber(n-1)+n(也就是判断语句第二步),
具体执行过程如下:第一步getWordNumber(10-1)+10=getWordNumber(9)+10,第二步:getWordNumber(9-1)+9(前面的就是判断之后再次执行else return getWordNumber(n-1)+n)+10=getWordNumber(8)+9+10,第三步就是以此类推,我是看了好多评论也没理解明白,自己捉摸出来的,能容易理解!
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
1 回答递归函数怎么运行的啊 看讲解一点不懂 求指教
2 回答递归函数 顺序怎么会反过来了呢
1 回答递归函数没搞懂啊
2 回答极其不理解这个式子,脑子转不过来
1 回答递归函数