单选题
有下列程序#include<stdio.h>void f(int x[],int n){if(n>1){printf("%d",x[n-1]);f(x,n-1);printf("%d",x[n-1]);}elseprintf("%d",x[n-1]);}main(){int a[4]={1,2,3,4};f(a,4);}程序执行后的输出结果是( )。
【正确答案】
C
【答案解析】解析:f()函数有两个参数:数组首地址x和数组元素个数n,当n大于l时,执行首先输出最后一个元素x[n-1],然后递归调用自身;直到n等于1时再次输出x[n-1],然后回到上一层调用,输出x[n-1];main()函数定义一个数组a,包含四个元素:1,2,3,4,然后调用f函数f(a,4),此时形参x等于a,形参n的值是4,所以输出a[3]即4,接着调用f(a,3),输出3,调用f(a,2)输出2,调用f(a,1)输出1;接着再逐步回到上一层的调用:f(a,2)输出2,f(a,3)输出3,f(a,4)输出4,最终程序输出结果为:4,3,2,1,2,3,4,本题答案为C。