日期:2014-05-20  浏览次数:20628 次

一道面试题:
一道面试题:
求解下面的返回值?假设执行test(2,3),结果是怎么是6呢?求高人讲解 
int test(int a,int b){ 
if(b==1){ 
return a; 
}else{ 
return test(a,b-1)+a; 




------解决方案--------------------
递归。。。。。。
------解决方案--------------------
递归,自己倒一下就行了。
------解决方案--------------------
test(2,3) = test(2,2)+2
test(2,2) = test(2,1) +2
test(2,1)= 2
不会画图,说不清楚啊!
------解决方案--------------------
三个二相加 有些东西别只用脑子想 最后用纸画画 多动手 试一试 这是递归 调用自身的方法返回值 如果会debug的话 最好debug试试 更明白了
------解决方案--------------------
这不是乘法运算嘛