问题
单项选择题
有如下程序:
#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。