选择题
有以下程序:
#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、
1
B、
2
C、
3
D、
4
【正确答案】
B
【答案解析】
本题重点考查函数的递归调用。题目中给出的fun函数的功能是:当参数b为0时,返回参数a的值,否则返回fun(--a,--b)的值。从这里可以看出,当b不断递减时,a也不断递减,直到b为0时返回a的值。那么a递减的总值就是b原来的值。所以整个递归函数的作用就是返回a-b的值。因此选项B正确。
提交答案
关闭