选择题
有以下程序:
#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;}
}
main()
{
char *ss[]={'bcc','bbcc','xy','aaaacc','aabcc'};
fun(ss,5);printf('%s,%s\n',ss[0],ss[4]);
}
程序的运行结果是______。
【正确答案】
A
【答案解析】从main函数入手,定义了一个一维数组并赋初值,接着调用函数fun(),函数的功能是:比较数组中各元素的长度,按元素长度从小到大的顺序排列元素,所以执行“fun(ss,5)”函数后,“*ss[]={'xy','bcc','bbcc','aabcc','aaaacc'}”,所以调用printf函数输出ss[0],ss[4]的值分别为xy,aaaacc。