一道面试题:
一道面试题:
求解下面的返回值?假设执行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试试 更明白了
------解决方案--------------------这不是乘法运算嘛