有以下程序     #include <stdio.h>     int fun(int a, int b)     {  if(b==0) return a;          else  return(fun(-a,-b));     }     ma

admin2009-08-25  28

问题 有以下程序     #include <stdio.h>     int fun(int a, int b)     {  if(b==0) return a;          else  return(fun(-a,-b));     }     main()     {  printf("%d\n",fun(4,2)); }     程序的运行结果是______。

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

答案B

解析 在调用一个函数的过程中又出现直接或间接调用该函数本身,称为函数的递归调用。本题考查的是函数递归调用。首先当a=4,b=2时,调用fun(4,2),不满足条件b==0,继续调用fun函数;此时a=3,b=1,即调用fun(3,1),不满足条件b=0,继续调用fun函数;此时a=2,b=0,满足条件b=0,返回a的值2。
转载请注明原文地址:https://jikaoti.com/ti/ZHI0FFFM
0

相关试题推荐
最新回复(0)