下列程序的输出结果是_________。 #include int fun(int x) { int p; if(x==0‖x==1) return 3; else p=x-fun(x-2); return p; }

admin2012-12-03  27

问题 下列程序的输出结果是_________。
#include
int fun(int x)
{  int p;
   if(x==0‖x==1)
   return 3;
   else
   p=x-fun(x-2);
   return p;
   }
   void main()
   {   printf("\n%d",fun(11));
   }

选项

答案4。

解析 本题考查函数的递归调用。在主函数中第1坎调用fun(1),如果x等于0或者x等于1刚返回3,否则返回11—fun(9);第2次调用函数fun(9),返回9-fum(7);第3次是fun(7),返回7-fun(5);第4次是调用fun(5),返回5-fun(3);第5次调用fun(3),返回3-fun(1);第6次调用fun(1),返回3。总的返回值是:11-(9-(7-(5-(3-3))))=1。
转载请注明原文地址:https://kaotiyun.com/show/AgPp777K
0

最新回复(0)