大家来看运行结果为多少
#include<stdio.h>
int fun(int n)
{
if(++n==5)
return n++;
return n*fun(n++);
}
int main()
{
int i=1;
int sum=fun(i);
printf("%d\n",sum);
return 0;
}
[此贴子已经被作者于2006-9-11 15:02:11编辑过]
f(1)--->3*f(2)
f(2)--->4*f(3)
f(3)--->5*f(4)
f(4)--->5
注意行参和实参的传递关系.
#include<stdio.h>
int fun(int n)
{
printf("%d*\n",n);
if(++n==5)
return n++;
printf("%d**\n",n);
return printf("%d***\n\n",n),n*fun(n++);
}
int main()
{
int i=1;
int sum=fun(i);
printf("%d\n",sum);
return(0);
}