有以下程序: #include <stdio.h> void f(int a[],int i, int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t;

admin2009-01-15  18

问题 有以下程序:    #include   <stdio.h>    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,5,4,3,2,

答案1

解析 f函数的功能是通过递归调用实现数组中左右部分相应位置数据的交换,即数组中第一个元素与最后一个元素调换位置,第二个元素与倒数第二个元素调换位置,以此类推。
转载请注明原文地址:https://kaotiyun.com/show/WpHp777K
0

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