选择题 32.  有以下程序:
    #include<stdio.h>
    int fun(int a,int B)
    {
    if(b==0)
    return a;
    else
    return(fun(--a,--b));
    }
    main()
    {
    printf("%d\n",fun(4,2));
    }
    程序的运行结果是______。
【正确答案】 B
【答案解析】 函数的递归调用。题目中给出的fun()函数直接调用了自身,所以是一个递归函数。其功能是:当参数b为0时,返回参数a的值,否则返回fun(--a,--b)的值。从这里可以看出,当b不断递减时,a也不断递减,直到b为0时返回a的值。那么a递减的总值就是b原来的值,所以整个递归函数的作用就是返回a—b的值,因此选项B正确。