下列程序的输出结果是______。 #include<stdio.h> int fun(int x) { int p; if(x==0‖x==1) retu

admin2010-05-22  20

问题 下列程序的输出结果是______。
       #include<stdio.h>
       int fun(int x)
       {  int p;
            if(x==0‖x==1)
                return 3;
            else
                p=x-fun(x-2);
            return p;
     }
       void main()
       {  printf("\n%d",fun(11));
}

选项

答案4

解析 本题考查函数的递归调用.在主函数中第1次调用于函数是调用的fun(11),返回11-fun(9);第2次调用于函数是调用的fun(9),返回9-fun(7);第3次调用于函数是调用的fun(7),返回7-fun(5):第4次调用子函数是调用的fun(5),返回5-fun(3):第5次调用于函数是调用的fun(3),返回3-fun(1):第6次调用于函数是调用的fun(1),返回3。总的返回值是:11-(9-(7-(5-(3-3))))=4.
转载请注明原文地址:https://jikaoti.com/ti/lEI0FFFM
0

最新回复(0)