问题
单项选择题
有以下程序:
int f(int n)
if(n==1) return 1;
else return f(n-1)+1;
main()
int i,j=0;
for(i=1; i<3; i++) j+=f(i);
printf("%d\n",j);
程序运行后的输出结果是( )。
A.4
B.3
C.2
D.1
答案
参考答案:B
解析: 主函数中for循环执行两次,i=1和i=2。调用函数f(1),返回值为1,j=1;调用函数f(2),计算表达式f(n-1)+1的值时递归调用f(1),返回值为2,j=3。所以B为所选。