问题 单项选择题

有以下程序:
#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。

单项选择题
问答题 论述题