以下程序的输出结果是 #include int fun(int n,int *s) { int f1,f2; if(n==0||n==1) *s=1; else { fun(n-1,&f1); fun(n-2,&f2);

admin2013-06-11  33

问题 以下程序的输出结果是
#include
int fun(int n,int *s)
{ int f1,f2;
    if(n==0||n==1)
*s=1;
    else
{ fun(n-1,&f1);
fun(n-2,&f2);
*s=f1+f2;
} }
void main()
{  int x;
  fun(6,&x);
  printf("\n%d",x);}

选项 A、7
B、13
C、9
D、10

答案B

解析 考查函数的递归调用。n=0或n=1是递归的终止条件,然后利用已知值逐步递推求出未知值。 通过传送地址值,在被调用函数中直接改变调用函数中的变量的值。
转载请注明原文地址:https://kaotiyun.com/show/pkJp777K
0

最新回复(0)