问题
填空题
有以下程序:
void 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, 6, 1, 8), i;
fun(x, 0, 3);
for(i=0; i<4; i++)printf("% 2d", x[i]);
程序运行后的输出结果是 【7】 。
答案
参考答案:8 1 6 2
解析: 第一次调用函数fun时,x[0]=2、xL1]=6、x[2]=1、x[3]=8,执行完函数fun后,x[0]与x[3]的值互换,即x[0]=8、x[1]=6、x[2]=1、x[3]=2;第二次调用函数fun时,i=1、j=2,故将x[1]与x[2]的值互换,即得x[0]=8、x[1]=1、x[2]=6、x[3]=2。