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

admin2011-06-13  15

问题 有以下程序:    #include<stdio.h>    void fun(int*s,int nl,int n2)    {int i,j,t;    i=nl;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、9.87654e+008
B、4.3211e+009
C、5.6789e+009
D、9.87651e+008

答案C

解析 函数fun的功能是:将数组s中从n1至n2的元素首尾互换,然后将第2个和倒数第2个元素互换,依次类推,其实也就是将原来的元素倒置。执行fun(a,0,3);将数组a中的第0~3个元素互换,结果为4 32 1;执行fun(a,4,9);将数组a中的第4~9个元素互换,结果为0 9 8 7 65。此时a中的元素依次为4 3 2 1 0 9 8 7 6 5,执行fun(a,0,9);再次将这10个元素倒置,结果为5 6 7 8 9 0 1 2 3 4。
转载请注明原文地址:https://kaotiyun.com/show/njPp777K
0

最新回复(0)