有以下程序 #include <stdio.h> void fun(int *s,int n1,int n2) { int i,j,t; i=n1 j=n2; while(i<j) {t=s[i]

admin2013-02-23  43

问题 有以下程序    #include  <stdio.h>    void  fun(int  *s,int  n1,int  n2)    {  int  i,j,t;       i=n1  j=n2;       while(i<j)  {t=s;s=s[j];s[j]=t;i++;j--;}    }    main()    {    int    a[10]={1,2,3,4,5,6,7,8,9,0},k;         fun(a,0,3);  fun(a,4,9);  fun(a,0,9);         for(k=0;k<10;k++)printf("%d",a[k]);    printf("\n");    }    程序的运行结果是

选项 A、987654321
B、4321098765
C、5678901234
D、987651234

答案C

解析 函数fun(int *s,int n1,int n2)的功能是对数组s中的元素进行首尾互相调换。所以在主函数中,当 fun(a,0,3)执行完后,数组a[12]={4,3,2,1,5.6,7,8,9,01;再执行fun(a,4,9),数组a[12]={4,3,2,1,0,9,8,7,6,5};再执行fun(a,0,9)后,数组a[12]={5,6,7,8,9,0,1,2,3,4}。
转载请注明原文地址:https://jikaoti.com/ti/8vn0FFFM
0

最新回复(0)