填空题 以下程序运行结果是 【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));

  • 1、
【正确答案】 1、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。