问题 单项选择题

有以下程序
#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[i]<a[j]) t=a[i]; a[i]=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[i]);
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

解析: 本题考查的知识点是:for循环的简单应用。
题目中fun()函数的作用是排序,从形参指针a所指位置开始,对其后n个int型元素进行从大到小排序。主函数中,调用fun()函数传入的两个实参分别为c+4和6,即从数组c的第5个元素开始,对其后连续的6个元素进行从大到小排序。所以,最后通过for循环输出数组c的值为“1,2,3,4,9,8,7,6,5,0,”,故应该选择D。

报关编码
单项选择题