有以下程序: #include<string.h> void f(char p[][10],int n) /* 字符串从小到大排序 */ {char t[10];int i,j; for(i=0;i<n-1;i++) fo

admin2011-06-10  23

问题 有以下程序:    #include<string.h>    void f(char p[][10],int n)  /* 字符串从小到大排序  */    {char t[10];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(,t);}    }    main()    {char p[5][10]={"abc","aabdfg","abbd","dcdbe","cd";    f(p,5);    printf("%d\n",strlen(p[0]));    }    程序运行后的输出结果(    )。

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

答案D

解析 strcmp(str1,str2)是比较字符串str1和str2,若str1>str2,返回值为正数;f()函数的功能就是将字符串按照从小到大的顺序进行排列,需要注意的是比较的足字符串中每个字符的ASCII值的大小,所以元素p[0]是“abc”,它的长度为3。
转载请注明原文地址:https://kaotiyun.com/show/SxPp777K
0

最新回复(0)