问题 单项选择题

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

解析:第一次调用f( )函数,返回值为1,第二次调用f( )函数,牵涉到函数的递归调用,返回值为2。

填空题
单项选择题