有以下程序: fun(int x) { int P; if(x==0‖x==1)return(3); p=x-fun(x-2); return P; } main() {print{("%d\n",fun(7));} 程序执行后的输出结

admin2012-12-03  22

问题 有以下程序:
fun(int x)
{  int P;
   if(x==0‖x==1)return(3);
   p=x-fun(x-2);
   return P;
}
main()
{print{("%d\n",fun(7));}
程序执行后的输出结果是(    )。

选项 A、7
B、3
C、2
D、0

答案C

解析 在函数fun(int x)中,有个if语句判断,如果参数x等于0或1时,返回值,否则进入下面的p=x-fun(x-2)递归函数。当在主函数中调用fun(7)时.其过程为:"fun(7)=7-fun(5)=7-(5-fun(3)=7-(5-(3-fun(1)))=7-(5-(3-3))=7-5=2",所以最后的输出结果为2。
转载请注明原文地址:https://kaotiyun.com/show/QwPp777K
0

最新回复(0)