试题题干
fun(int a[],int i,int j)
{ int t;
if(i<j)
{t=a[i];a[i]=a[j];a[j]=t;
i++;j--;
fun(a,i,j);
}
}
main()
{ int x[]={2,4,6},i;
fun(x,0,2);
for(i=0;i<3;i++) printf(″%2d″,x[i]);
printf(″\n″);
}
参考答案
试题解析
在主函数中,执行fun(x,0,2);需要调用函数fun(),即i=0,j=2,符合if语句,执行t=a[i];a[i]=a[j];a[j]=t;即t=a[0];a[0]=a[2];a[2]=t;,则此时主函数中的一维数组为x[]={6,4,2},再执行for循环,变量i的值为0,1,2,则输出的数组元素为x[0],x[1]x[2]即6,4,2。