有以下程序: #inc1ude #inc1ude "string.h" void fun(char *s[],int n) {char *t,int i,j, for(i=0;i

admin2021-07-09  37

问题 有以下程序:
    #inc1ude  
    #inc1ude "string.h"
    void fun(char *s[],int n)
    {char *t,int i,j,
    for(i=0;i    for(j=i+1 tj    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://kaotiyun.com/show/J7tp777K
0

最新回复(0)