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

admin2010-12-10  25

问题 下列程序的输出结果是(    )。    #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(5));    }   

选项 A、5     
B、3
C、7     
D、1

答案A

解析  本题考查函数的递归调用。在函数递归调用时,fun(5):a=5-fun(3)->fun3:a=3-fun(1)->fun(1):a=3,反推回去fun(3):a=3-3=0->fun(5):a=5-0=5,最后的计算结果为5。
转载请注明原文地址:https://kaotiyun.com/show/aBPp777K
0

最新回复(0)