有以下程序,其中函数f的功能是将多个字符串按字典顺序排序( )。 #include void f(char*p[],int n) { char*t;int i,j; for(i=0;i<n-1;i++)

admin2012-12-03  34

问题 有以下程序,其中函数f的功能是将多个字符串按字典顺序排序(    )。
    #include
    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,p[j]>0){t=p;p=p[j];p[j]=t;)
    }
    main()
    {   char  *p[5]={"abe","aabdfg","abbd","dcdbe","cd"};
        f(p,5);
        printf("%d\n",strlen(p[1]));
    }
    程序运行后的输出结果是(    )。

选项 A、2
B、3
C、6
D、4

答案D

解析 函数void f的功能是将字符指针数组*p[]中的每个字符串按照从小到大的顺序排序。在主函数main()中,调用f(p,5)后,字符指针数组*p[5]中的字符串按照字典顺序从小到大排列为如下形式,即*p[5]={"aabd fg","abbd","abc","cd","dcdbe"),因此p[1]="ahdb",strlen(p[1])=4。
转载请注明原文地址:https://kaotiyun.com/show/00Pp777K
0

最新回复(0)