有如下程序: long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2);} main() { printf("%d\n",fib(3));}

admin2013-02-23  44

问题 有如下程序:    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

答案2

解析 本题考查函数的递归调用。fib(3) =fib(2)+fib(1),而fib(2)的返回值为2,fib(1)的返回值也为2,故输出的fib(3)的值为4。
转载请注明原文地址:https://kaotiyun.com/show/9dPp777K
0

最新回复(0)