问题 单项选择题

有以下程序 #includevoid f(char P[][10],int n)/*字符串从小到大排序*/{char t[10];int i,j;for(i=0;iO){strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],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

答案

参考答案:C

解析:本题中函数f()利用选择法对字符串数组p中的字符串按从小到大排序,字符串比较的方法是:依次对S1和s2所指字符串对应位置上的字符两两进行比较,当出现第一对不相同的字符时,即由这两个字符(ASCII码值)决定所在串的大小,因此最后在p[0]中存储的是最小的字符串是"aabdfg"。最后用strlen()函数求得该字符串的长度为6。

选择题
单项选择题 A1/A2型题