有以下程序     #include   <stdio.h>    void fun(int *a, int n)/* fun 函数的功能是将a所指数组元素从大到小排序*/    { int  t, i,j;      for (i=0; i<n-1 ;i

admin2009-06-20  32

问题 有以下程序     #include   <stdio.h>    void fun(int *a, int n)/* fun 函数的功能是将a所指数组元素从大到小排序*/    { int  t, i,j;      for (i=0; i<n-1 ;i++)      for 0=i+l; j<n; j++)         if(a<a[j])  {  t=a; a=a[j]; a[j]=t;  }    }    main()    { int  c[10]= { 1,2,3,4,5,6,7,8,9,0},i;      fun(c+4, 6);      for (i=0;i<10; i++)  printf("%d,", c);      printf("\n");    }

选项 A、1,2,3,4,5,6,7,8,9,0,
B、0,9,8,7,6,5,1,2,3,4,
C、0,9,8,7,6,5,4,3,2,1,
D、1,2,3,4,9,8,7,6,5,0,

答案D

解析 题目中fun()函数的作用是排序,从形参指针a所指位置开始,对其后n个int型元素进行从大到小排序。主函数中,调用fun()函数传入的两个实参分别为c+4和6,即从数组c的第5个元素开始,对其后连续的6个元素进行从大到小排序。所以,最后通过for循环输出数组c的值为“1,2,3,4,9,8,7,6,5,0,”,故应该选择D。
转载请注明原文地址:https://jikaoti.com/ti/W5I0FFFM
0

最新回复(0)