有以下程序: #include<stdio.h> iht fun(iht n,int*p) { int f1,f2; if(n==1||,n==2)*p=1; else { fun(n-1,&f1);fun(

admin2010-12-10  26

问题 有以下程序:    #include<stdio.h>    iht fun(iht n,int*p)    {    int f1,f2;    if(n==1||,n==2)*p=1;    else    {    fun(n-1,&f1);fun(n-2,&f2);    *p=f1+f2;    }    }    main()    {    int s;    fun(3,&s);    printf("%d\n",s);    }    程序的运行结果是______。   

选项 A、2     
B、3
C、4     
D、5

答案A

解析  本题考查的重点是理解递归函数。fun()为递归函数,递归结束条件时n为1或2,从而fun(3,&s)得fun(2,&s)+fun(1,&s)=1+1=2,因此选项A是正确的。
转载请注明原文地址:https://kaotiyun.com/show/1BPp777K
0

最新回复(0)