问题
单项选择题
有以下程序:
#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[i],p[j])>0strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy([i],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。