问题
单项选择题
有如下程序: #include <stdio.h> long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2));else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是( )。
A.2
B.4
C.6
D.8
答案
参考答案:B
解析: 本题考查函数的递归调用。fib(3)=fib(2)+fib(1),而fib(2)的返回值为2, fib(1)的返回值也为2,故输出的fib(3)的值为4。