A-A+

以下程序的输出结果是 long fun(int n) { long s; if(n==1||

2022-08-06 00:04:19 问答库 阅读 173 次

问题详情

以下程序的输出结果是 long fun(int n) { long s; if(n==1||n==2)s=2; else s=n-fun(n-1); return s;} main() { printf("%ldn",fun(3));}
A.1
B.2
C.3
D.4请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:A
解析:该题考查的是递归函数的调用,题中读fun函数进行了递归调用,第1次调用:fun(3)n=3s=3-fun(2)第二次调用时:fun(2)n=2s=2返回第一次调用后,s=3-2=1。

考点:程序