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

admin2021-06-15  22

问题 有以下程序:
   #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

解析 fun函数是一个递归函数,其功能是:当b的值为零时,返回此时a的值;否则,返回fun(一一a,一一b),即将a和b的值分别减1后返回fun(a,b)。当b不断递减时,a也不断递减,直到b为零。执行过程为:执行fun(4,2),b=2,返回f(3,1),此时b=1,返回f(2,0),b=0,返回a的值2。
转载请注明原文地址:https://jikaoti.com/ti/KPz0FFFM
0

最新回复(0)