问题:
[单选] 有以下程序,其中函数f的功能是将多个字符串按字典顺序排序( )。#{nc[ude%string.h>
void{(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]>O){t=p[i];p[i]=p[j];p[j]
=t;}
}
main()
{char *P[5]={¨abc”,”aabdfg”,”abbd”,”dcdbe”,”ed”);
f(p,5):
print[("%d\n",strlen(p[1]));
程序运行后的输出结果是( )。
A . 2
B . 3
C . 6
D . 4
参考答案:D
参考解析:
D。【解析】函数voidf的功能是将字符指针数组*p[]中的每个字符串按照从小到大的顺序排序。在主函数main()中,调用f(p,5)后,字符指针数组*pE5]中的字符串按照字典顺序从小到大排列为如下形式,即*pE5]一(”aab—df9”,”abbd”,”abc”,”cd¨,”dcdbe”),因此P[1]=”abdb”,strlen(p[1])=4。