问题详情

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


A、1

B、2

C、3

D、4

时间:2022-02-24 18:08 关键词: 全国计算机等级考试二级 C语言程序设计

答案解析

B
fun函数是一个递归函数,其功能是:当b的值为零时,返回此时a的值;否则,返回fun(--a,--b),即a和b的值分别减1后递归调用返回fun函数。当b不断递减时,a也不断递减,直到b为零。执行过程为:执行fun(4,2),b=2,返回fun(3,1),此时b=1,返回fun(2,0),b=0,返回a的值2。答案选择B选项。