有下列程序: #include #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++)

admin2013-10-15  6

问题 有下列程序:
#include
#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;}
}
void 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","aaaacc"},所以调用printf函数输出ss[0],ss[4]的值分别为xy,aaaacc。
转载请注明原文地址:https://jikaoti.com/ti/BvXiFFFM
0

最新回复(0)