C語言函數
int w=3;
int fun(int k)
{
? if(k==0) ?return w;
? return(fun(k-1)*k);
}
void main()
{
? int w=10;
? printf("%d\n",fun(5)*w);
}
答案 為3600.。。怎么得來的 看不懂。。求解答
int w=3;
int fun(int k)
{
? if(k==0) ?return w;
? return(fun(k-1)*k);
}
void main()
{
? int w=10;
? printf("%d\n",fun(5)*w);
}
答案 為3600.。。怎么得來的 看不懂。。求解答
舉報
2015-12-06
函數部分:當k=0時,返回 w的值,即3;否則返回 f(k-1)*k;
主函數中:fun(5)=fun(4)*5;fun(4)=fun(3)*4;依次類推fun(0)=3;
? ? ? ? ? ? ? ?fun(5)*w=fun(0)*1*2*3*4*5*w
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?=3*1*2*3*4*5*10=3600