有以下程序: #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+l;j<n;j++) if(s

admin2022-06-24  31

问题 有以下程序:
#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+l;j<n;j++)
if(strlen(s)>strlen(s[j]))
{t=s[I];s=s[J];s[I]=t;}
}
main( )
{
char*SS={"bce","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[]={"y","bcc","b1DCC","aalDeCf","aaaacc"}”,所以调用printf函数输出ss[0],ss[4]的值分别为xy,aaaacc。
转载请注明原文地址:https://jikaoti.com/ti/7Jd0FFFM
0

最新回复(0)