有下列程序:    #include  <stdio.h>    #include "string.h"    void tim(char *s[],int n)    {         char *t;int i,j;         for(i=0;

admin2009-08-24  25

问题 有下列程序:    #include  <stdio.h>    #include "string.h"    void tim(char *s[],int n)    {         char *t;int i,j;         for(i=0;i<n-1;i++)           for(j=i+1;j<n;j++)             if(strlen(s)>strlen(s[j])) {t=s;s=s[j];s[j]=t;}    }    main()    {        char *ss[]= {"bcc","bbcc","xy","aaaacc","aabcc"};        fun(ss,5);printf("%s,%s\n",ss[0],ss[4]);    }    程序的运行结果是(  )。

选项 A、xy,aaaacc
B、aaaacc,xy
C、bcc,aabcc
D、aabcc,bcc

答案A

解析 从main函数入手,定义了指向字符串的指针数组,并赋予了初始值,调用fun()函数,函数的功能是:比较数组中各个元素的长度,按元素长度从小到大排列数组元素,所以执行fun(ss,5)函数后,*ss[]={"xy","bcc","bbcc","aabcc","aaaacc"},所以调用printf函数输出ss[0],ss[4]的值分别为xy,aaaacc。
转载请注明原文地址:https://jikaoti.com/ti/ybI0FFFM
0

最新回复(0)