以下程序的输出结果是( )。 fun(intx) main() {int p; { if(x==0‖x==1)return(3); printf(’’%d\n’’,

admin2020-05-19  29

问题 以下程序的输出结果是(  )。
fun(intx)                     main()
{int p;                      {
if(x==0‖x==1)return(3);     printf(’’%d\n’’,fun(7));
p=x一fun(x一2);              }
return p;}

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

答案D

解析 本题考查递归调用。因为在函数fun(x)中,如果参数x等于0或等于1时,返回值为“3”。否则’’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/NgCp777K
0

最新回复(0)