有以下程序: 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+

admin2010-01-10  22

问题 有以下程序:    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

答案2

解析 主函数中for循环执行两次,i=1和i=2。调用函数f(1),返回值为1,j=1;调用函数f(2),计算表达式f(n-1)+1的值时递归调用f(1),返回值为2,j=3。所以B为所选。
转载请注明原文地址:https://kaotiyun.com/show/wQWp777K
0

最新回复(0)