A-A+

有以下程序 其中函数f的功能是将多个字符串按字典顺序排序()。#include

2022-08-06 06:38:38 问答库 阅读 176 次

问题详情

有以下程序,其中函数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]={"abe","aabdfg","abbd","dcd-
be","cd"};
f(p,5);
printf("%d\n",strlen(p[1]));
}
程序运行后的输出结果是()o
A.2
B.3
C.6
D.4请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:D
函数voidf的功能是将字符指针数组*p[]中的每个字符串按照从小到大的顺序排序。在主函数main中,调用f(P,5)后,字符指针数组*p[5]中的字符串按照字典顺序从小到大排列为如下形式,即*p[5]={"aab-dfg","abbd","abc","cd","dcdbe"),因此P[1]="abdb",strlen(p[1])=4。

考点:字符串,字典