大一新生求教C语言问题,求大神帮助小白分析此程序的具体过程!如题(答案是xy,aaaacc)

#include<stdio.h>#include<string.h>voidfun(char*s[],intn){char*t;inti,j;for(i=0;i<n-1... #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[i])>strlen(s[j])) {t=s[i];s[i]=s[j];s[j]=t;}
}
main()
{char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};
fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);
}
展开
 我来答
cnnbwhq1972
2014-03-08 · TA获得超过3843个赞
知道小有建树答主
回答量:488
采纳率:83%
帮助的人:240万
展开全部
#include<stdio.h>
#include<string.h>
//函数功能:根据字符串的长度进行排序
//输入参数:*s[] 字符串数组, n 数组内字符串个数
//输出参数:无
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[i])>strlen(s[j]))  //取字符串1和字符串2的长度比较,如果字符串1长度笔字符串2长
{t=s[i];s[i]=s[j];s[j]=t;}   //交换字符串1和字符串2的位置
}
void main()
{char   *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};
fun(ss,5); 
printf("%s,%s\n",ss[0],ss[4]); //输出最短的和最长的字符串
 
}
何守方
2014-03-08 · 超过50用户采纳过TA的回答
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:93.8万
展开全部
c中,首先执行的是main函数,在函数里,定义了一个指针数组,然后调用了fun函数,传入数组和一个常量5;在fun函数里,对传入的数组做冒泡排序;排序完成后,函数结束,main函数开始打印指针数组的两个值,ss[0]和ss[4],按照排序后的内容,分别是xy和aaaacc
请参考课本冒泡排序,指针
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-08
展开全部
题呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-08
展开全部
哪有题?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式