有以下程序: #include int fun(int a,int b) { if(b==0)return a; else return(fun(--a,--b)); } main() {print

admin2021-06-15  36

问题 有以下程序:
    #include
    int fun(int a,int b)
    {  if(b==0)return a;
    else return(fun(--a,--b));
    }
    main()
    {printf("%d/n",fun(4,2));}
    程序运行的结果是(    )。

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

答案B

解析 fun函数是一个递归函数,其功能是:当b的值为零时,返回此时a的值;否则,返回fun(--a,--b),即将a和b的值分别减1后返回fun(a,b)。当b不断递减时,a也不断递减,直到b为零。执行过程为:执行fun(4,2),b=2,返回fun(3,1),此时b=1,返回fun(2,0),b=0,返回a的值2。
转载请注明原文地址:https://kaotiyun.com/show/h0tp777K
0

最新回复(0)