问题
单项选择题
以下程序的输出结果是( )。
long fun(int n)
long S;
if(n==1||n==2)s=2;
else s=n-fun(n-1);
return s;
main()
printf("% 1d\n" ,fun(3));
A.1
B.2
C.3
D.4
答案
参考答案:A
解析: 该题考查的是递归函数的调用,题中fun函数进行了递归调用,第1次调用时:fun(3)n=3 s=3-fun(2);第2次调用时:fun(2)n=2 s=2,返回第一次调用后,s=3-2=1。