问题 单项选择题

有下列程序:
#include<stdio.h>
#include"string.h"
void fun(char *s[],int n)

char *t;int i,j
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(strlen(s[i]>strlen(s[j]))t=s[i];s[i]=s[j];s[j]=t;

void main()

char *ss[]="bcc","bbcc","xy","aaaacc","aabcc";
fun(ss,5);printf("%s,%s\n",ss[0],ss[4]);

程序的运行结果是( )。

A.xy,aaaacc

B.aaaacc,xy

C.bcc,aabcc

D.aabcc,bcc

答案

参考答案:A

解析: 在mare函数中,定义了一个指向字符串的指针数组,并赋初值,然后调用fun函数,其功能是比较数组中元素的长度,按长度从小到大排序,所以执行fun(ss,5)函数后*ss[]={"xy","bcc","bbcc","aaaacc"),所以调用printf函数输出ss[0],ss[4]的值分别为xy,aaaacc。

单项选择题 A1/A2型题
单项选择题 A1型题