问题 单项选择题

有如下程序: #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。

单项选择题
问答题