有以下程序: #include<stdio.h> #include’’string.h’’ void fun(char *s[],int n) { char *t;int i,j; for(i=0;i<n-1;i+

admin2020-07-28  59

问题 有以下程序:
    #include<stdio.h>
    #include’’string.h’’
    void fun(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://kaotiyun.com/show/II3p777K
0

相关试题推荐
最新回复(0)