问题
单项选择题
有下列程序:
#include <stdio.h>
#include "string.h"
void tim(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) xy,aaaacc
B) aaaacc,xy
C) bcc,aabcc
D) aabcc,bcc
答案
参考答案:A
解析: 从main函数入手,定义了指向字符串的指针数组,并赋予了初始值,调用fun()函数,函数的功能是:比较数组中各个元素的长度,按元素长度从小到大排列数组元素,所以执行fun(ss,5)函数后,*ss[]={"xy","bcc","bbcc","aabcc","aaaacc"},所以调用printf函数输出ss[0],ss[4]的值分别为xy,aaaacc。