慕斯7407225
2016-12-07 20:08
没有循环语句,直接输进去10,他只是10+9了,之前的呢,1到8呢,结果对了,但是不懂啊,求大神解释
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
我想明白了,我告诉你们
当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语言入门
926212 学习 · 20797 问题
相似问题