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

admin2010-09-05  16

问题 下列程序的输出结果是(    )。
   #include<stdio.h>
   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(5) );
   }  

选项 A、5
B、3
C、7
D、1

答案A

解析 本题考查函数的递归调用。在函数递归调用时,fun(5):a=5-fun(3)->fun3:a=3-fun(1)->fun(1):a=3,反推回去fun(3):a=3-3=O->fun(5):a=5-0=5,最后的计算结果为 5。
转载请注明原文地址:https://kaotiyun.com/show/k5Wp777K
0

最新回复(0)