有以下程序 #include <stdio.h> void f(int x[], int n) { if ( n> 1) { printf("%d,", x[n-1]); f(x, n-1); } else

admin2020-06-16  26

问题 有以下程序
#include <stdio.h>
void  f(int  x[], int  n)
{  if ( n> 1)
   {  printf("%d,", x[n-1]);
      f(x, n-1);
   }
   else
      printf("%d,", x[0]);
}
main()
{   int  z[6] = {1,2,3,4,5,6};
    f(z,6);      printf("\n");
}
程序的运行结果是

选项 A、6,5,4,3,2,1,
B、6,1,
C、2,3,4,5,6,1,
D、1,2,3,4,5,6,

答案A

解析 在调用一个函数的过程中又出现直接或间接的调用该函数本身,称为函数的递归调用。本题目中递归函数调用执行过程为:f(z,6),输出6 ->f(z,5),输出5 ->f(z,4),输出4 ->f(z,3),输出3  ->f(z,2),输出2 ->f(z,1),输出1,A选项正确。
转载请注明原文地址:https://kaotiyun.com/show/7iCp777K
0

最新回复(0)