qq_照遍天宇_04160908
2016-10-22 10:32
第二次调用为什么会跟第一次的值不一样呢?总想不明白。又没有n-1=n
第一次调用时n=10,就会return getWordNumber(n-1)+n,也就是getWordNumber(10-1)+10;
而getWordNumber(10-1)返回的是getWordNumber(9-1)+9;
...一直往下减
getWordNumber(2)返回getWordNumber(2-1)+2;
getWordNumber(1)返回1;
所以getWordNumber(10)就等于:
getWordNumber(1)+2+3+4+5+6+7+8+9+10=55.返回什么可以直接用返回值替换原来的式子,就容易看明白了!
getWordNumber(10)
=getWordNumber(9)+10
=(getWordNumber(8)+9)+10
=((getWordNumber(7)+8)+9)+10
。。。。。。
=getWordNumber(1)+2+3+···+9+10
=1+2+3+···+9+10
=55
C语言入门
926207 学习 · 20797 问题
相似问题