问题
填空题
以下程序运行结果是 【12】 。
#include<stdio.h>
long func(int x)
long p;
if(x==0‖x==1)return(2);
p=x*func(x-1);
return(p);
main()
printf("%d\n",func(4));
答案
参考答案:48
解析: 本题主要考查的是函数的递归调用,递归的终止条件是x==0或x==1,然后用已知值逐步递推向上求未知值,直到得到最终的结果。
func(4)=4*func(3);
func(3)=3*func(2);
func(2)=2*func(1);
func(1)=2;
所以func(2)=2*2=4;
func(3)=3*4=12;
fune(4)=4*12=48。