问题 单项选择题

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

单项选择题
单项选择题