单选题
有以下程序,其中函数f的功能是将多个字符串按字典顺序排序______。
#include<string.h>
void f(char *p[], int n)
{ char*t; int i, j;
for(i=0; i<n-1; i++)
for(j=i+1; j<n; j++)
if(strcmp(p[i], p[j]>0)){t=p[i]; p[i]=p[j]; p[j]=t; }
}
main()
{char *p[5]={"abc", "aabdfg", "abbd", "dcdbe", "cd"};
f(p, 5);
printf("%d/n", strlen(p[1]));
}
程序运行后的输出结果是______。
【正确答案】
D
【答案解析】[解析] 函数void f的功能是将字符指针数组*p[]中的每个字符串按照从小到大的顺序排列。在主函数main()中,调用f(p,5)后,字符指针数组*p[5]中的字符串按照字典顺序从小到大排列为如下形式,即*p[5]={"aabdfg", "abbd", "abc", "cd", "dcdbe"},因此p[1]="abdb", strlen(p[1])=4。