柠檬试题库
search
首页 计算机 公务员 驾照 关于

有以下程序 #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
热度🔥652
参考答案:B
解析:

【解析】本题重点考察函数的递归调用;题目中给出的fun()函数直接调用了自身,所以是一个递归函数。其功能是:当参数b为0时,返回参数a的值,否则返回fun(--a,--b)的值。从这里可以看出,当b不断递减时,a也不断递减,直到b为0时返回a的值。那么a递减的总值就是b原来的值。所以整个递归函数的作用就是返回a-b的值。因此B选项正确。
复制题目向AI提问