以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。 #include<string.h> void f(char p[][10],int n) { char t[20];int i,j; for(i=0;i<n-1;

admin2013-02-23  38

问题 以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。    #include<string.h>    void f(char p[][10],int n)    { char t[20];int i,j;      for(i=0;i<n-1;i++)      for(j=i+1;j<n;j++)      if(strcmp(p,p[j]<0)    {strcpy(t,p);strcpy(p,p[j]);strcpy(p[j],t);}    }    main()    { charp[][10]={“abc”,“aabdfg”,“abbd”,“dcdbe”,”cd”};int i;     f(p,5);printf(“%d\n”,strlen(P[0]));    }    程序运行后的输出结果是

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

答案4

解析 函数stremp(字符串1,字符串2)作用是将“字符串1”和“字符串2”进行比较,如果“字符串1”>“字符串2”,返回一个大于0的整数值;如果“字符串1”<“字符串2”,返回一个小于0的整数值;如果“字符串1”=“字符串2”,返回0。函数 strepy(字符串数组名,字符串,[整型表达式]),整型表达式的作用是将“字符串”的前“整型表达式”个字符存入到指定的“字符数组”中,若省略“整型表达式”,则将整个“字符串”存入“字符数组”中。函数f()的功能是利用选择法把一个具有n行的二维数组中按行存放的n个字符串由大到小排序。在主函数中定义了一个二维字符数组p并给它按行赋初值,然后调用f()函数,把它按行从大到小排列。字符串比较大小的标准是从第一个字符开始依次向右比较,遇到某一个字符大,该字符所在的字符串就是较大的字符串。由此可知最大的字符串为“dcdbe”,排序后存放在第一行,其首地址为P[0],在输出语句输出的P[0]指向的字符串长度是5。
转载请注明原文地址:https://kaotiyun.com/show/ZHJp777K
0

最新回复(0)