C语言bianc

执行下列程序时,如果输入asbr,写出运行结果。
#include<stdio.h>
void fun(t)
char t[];
{char c;int i,j;
for(i=strlen(t)-1;i;i--)
for(j=0;j<i;j++)
if(t[j]<t[j+1])
{ c=t[j]; t[j]=t[j+1]; t[j+1]=c; } }
main()
{ char s[81];
printf("\n Please enter a characterstring:");
gets(s); fun(s); printf("%s\n",s); }
结果:
求大神分析。。。

这是一个对输入字符串按照ASCII大小进行冒泡排序的算法,从大到小排序并输出。

请采纳为最佳,有什么不懂请追问

追问

麻烦把程序运行过程分析一下。尤其是gets(s); fun(s); 和这个void fun(t)是怎么么个意思。

追答

get(s)是一个字符串读取函数,读取你输入的字符,fun(s)是调用void fun(t)函数进行排序,程序运行的流程是这样的:通get(s)获得你输入的字符,然后保存在字符数组s[81]中,然后把数组的首地址s传给fun()函数,进行排序,排序结束后输出结果

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-10
这是一个降序排列字符串!使用的是冒牌排序
第2个回答  2015-06-10
写的太乱了 不爱看~~~
第3个回答  2015-06-10
会出现编译错误,没有#include<string.h>
相似回答
大家正在搜