选择题   有以下程序
    #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)); }
      程序的运行结果是______。
 
【正确答案】 C
【答案解析】[考点] 字符串、函数递归、标识符的作用域和存储类 在调用一个函数的过程中又直接或间接调用该函数本身,称为函数的递归调用。首先当a=4,b=2时,调用fun(4,2),不满足条件b=0,继续调用fun函数;此时a=3,b=1,调用fun(3,1),不满足条件b=0,继续调用fun函数;此时a=2,b=0,满足条件b=0,返回a的值2。