问题 单项选择题

有如下程序: long fib(int n) {if(n>2) return(fib(n-1)+fib(n-2));else return(2); } main() { printf("%ld\n",fib(3));} 该程序的输出结果是______。

A.2

B.4

C.6

D.8

答案

参考答案:B

解析:[评析] 函数fib内部有两个递归调用,当n=3时,fib(n-1)返回2,fib(n-2)也返回2,所以fib(n-1)+fib(n-2)的值为4。

单项选择题
单项选择题