A-A+
以下程序运行结果是【 】。 include<stdio.h> long func(int x
问题详情
以下程序运行结果是【 】。 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("%dn",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。