问题
单项选择题
以下程序运行后的输出结果是
#include <stdio.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])>0) strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);
main()
char p[5][10]="abc","aabdfg","abbd","dedbe","cd";
f(p,5);
printf("%d\n",strlen(p[0]));
A) 2
B) 4
C) 6
D) 3
答案
参考答案:C
解析: 函数f的功能是利用冒泡排序方法,将二维字符数组的前n行进行递增排序。注意,本题目排序时交换整个字符串都。数组p排序后的结果为p[5][10]={"aabdfg","abbd","abc","cd","dedbe"}。所以第一行字符串的长度是6。