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

admin2010-09-05  26

问题 下列程序的输出结果是(   )。         #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()          {  print f("\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=0->fun(5):a=5-0=5,最后的计算结果为5。
转载请注明原文地址:https://jikaoti.com/ti/W9I0FFFM
0

最新回复(0)