问题 单项选择题

以下程序运行后的输出结果是
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。

选择题
选择题