选择题
有以下程序
#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)); }
程序的运行结果是______。
A、
3
B、
4
C、
2
D、
1
【正确答案】
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。
提交答案
关闭