有以下程序 #include<stdio.h> int fun(int a,int b) {if(b==0) return a; else return(fun(--a,--b)); } main()

admin2017-03-23  34

问题 有以下程序
    #include<stdio.h>
    int fun(int a,int b)
    {if(b==0) return a;
    else    return(fun(--a,--b));
    }
    main()
    {printf(’’%dkn’’,fun(4,2));}
    程序的运行结果是(    )。

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

答案B

解析 由程序可知,函数fun(int a,int b)是一个递归函数。所以当主函数中调用“fun(4,2)”时,其执行过程如下“fun(4,2)->fun(3,1)->fun(2,0)”,其返回值为2。所以正确答案为选项B。
转载请注明原文地址:https://jikaoti.com/ti/ZQi0FFFM
0

最新回复(0)