有以下程序  void f(int a[ ],int i,int j)  { int  t;   if(i<j)   {  t=a[i]; a[i]=a[j];a[j]=t;    f(a,i+1,j-1); } }  main( )  { int i,a

admin2013-02-23  13

问题 有以下程序  void f(int a[ ],int i,int j)  { int  t;   if(i<j)   {  t=a; a=a[j];a[j]=t;    f(a,i+1,j-1); } }  main( )  { int i,aa[5]={1,2,3,4,5};   f(aa,0,4);   for(i=0;i<5;i++)   printf(“%d,”,aa);   printf(“\n”); }   执行后输出结果是( )

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

答案A

解析 递归调用,当第3次进行递归调用时结束调用过程,排序结果为:5,4,3,2,1。
转载请注明原文地址:https://kaotiyun.com/show/tmJp777K
0

最新回复(0)