A-A+

有以下程序: int f(int n) { if(n==1) return 1; else

2022-08-06 04:47:26 问答库 阅读 176 次

问题详情

有以下程序: 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("%dn",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为所选。

考点:程序