static int put(int i)
{
if(i < 1)
{
return 1;
}
else
{
return i * put(i - 1);
}
}请大侠们帮分析一下如果输入5运算步骤是什么样的,请说详细点行不.
{
if(i < 1)
{
return 1;
}
else
{
return i * put(i - 1);
}
}请大侠们帮分析一下如果输入5运算步骤是什么样的,请说详细点行不.
调试欢乐多
put(4)=4*put(3)
put(3)=3*put(2)
put(2)=2*put(1)
put(1)=1*put(0)
put(0)=1明白没有!?
调用put(2),return 2*put(1);
调用put(1),return 1*put(0);
调用put(0),return 1;也就是3*2*1*1最好改成这样:static int put(int i)
{
if(i = 1)
{
return 1;
}
else
{
return i * put(i - 1);
}
}
看来楼主以前的数据结构没学好啊..
|
4 * put(4 - 1);
|
3 * put(3 - 1);
|
2 * put(2 - 1);
|
1 * put(1 - 1);
|
1应该是 5*4*3*2*1*1
就是这句不明白啊....