有以下程序  #include<iostream.h>  int f(iht n)  { if(n==1) return 1;   else return f(n-1)+1;}  void main( )  { iht i,j=0;   for(i=1;i

admin2013-05-30  19

问题 有以下程序  #include<iostream.h>  int f(iht n)  { if(n==1) return 1;   else return f(n-1)+1;}  void main( )  { iht i,j=0;   for(i=1;i<3;i++)j+=f(i);   cout < < j;} 程序运行后的输出结果是

选项 A、4
B、3
C、2
D、1

答案2

解析 在main函数中,对f(1)和f(2)的值进行了累加。过程如下:
  f  (1)=1
  f  (2)=f  (1)+l=2
  最后,j的值为1+2=3。注意:函数的递归调用需要有一个结束的条件。
转载请注明原文地址:https://kaotiyun.com/show/QnNp777K
0

最新回复(0)