问题
单项选择题
下述程序的输出结果是( )。
#include <stdio.h>
int f(n)
int n;
if(n==0 | | n==1)
return 3;
return n-f(n-2);
void main()
printf("\n%d",f(10));
A.3
B.8
C.9
D.10
答案
参考答案:A
解析: 本题定义了一个递归函数f()。当传入的参数n等于1或0时返回3,否则返回n-f(n-2)。所以f(10)=10-f(8)=10- (8—f(6))=10-8+(6-f(4))=10-8+6-(4-f(2))=10-8+6-4+(2-f(0))=10-8+6-4+2-3=3。故本题应该选择A。