| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2760 人关注过本帖
标题:找错误 用指向指针的指针的方法对5个字符串排序并输出
只看楼主 加入收藏
yeti3
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-2-21
收藏
 问题点数:0 回复次数:8 
找错误 用指向指针的指针的方法对5个字符串排序并输出

用指向指针的指针的方法对5个字符串排序并输出

#include<stdio.h>
#include<string.h>
main()
{void sort(char**p,int n);
int i;
char *a[5];

printf("please input 5 strings\n");
for(i=0;i<5;i++)
scanf("%s",a[i]);

sort(a,5);
for(i=0;i<5;i++)
printf("%s\n",a[i]);
getch();

}

void sort(char**p,int n)
{
char *temp;int i,j,k;
for(i=0;i<n-1;i++)
{ k=i;
for(j=i+1;j<n;j++)
if(strcmp(*(p+k),*(p+j))>0)
k=j;
if(k!=i)
{temp=*(p+i);
*(p+i)=*(p+k);
*(p+k)=temp;
}
}

下面是我做的.编译没问题..但我输f 回车e回车d回车c回车b回车a回车

结果是aabcd为什么

搜索更多相关主题的帖子: 指针 字符 int char 输出 
2006-03-08 09:01
游客
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-3-7
收藏
得分:0 
因为这里strcmp(*(p+k),*(p+j))&gt;0

飞向空中却撞倒了正在烤鸟肉的天使
2006-03-08 11:47
yeti3
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-2-21
收藏
得分:0 

不明白呀...

2006-03-08 16:06
lijunlenly
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2005-12-30
收藏
得分:0 
高手啊,我们都看不懂,才学一个月~~~

孤独是一个人的狂欢~!狂欢是一群人的孤独~!
2006-03-08 16:27
中轴线
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-2-25
收藏
得分:0 

我运行过了,没有错误,当你输入f e d c b a时就会输出a b c d e f


2006-03-08 17:21
游客
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-3-7
收藏
得分:0 
看错了最后是aabcd,诚恳承认错误,误导群众十分抱歉,只是你那只有5个字符串怎么能敲6次回车,楼上的也能,但我却不能

飞向空中却撞倒了正在烤鸟肉的天使
2006-03-09 02:22
yeti3
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-2-21
收藏
得分:0 

sorry 编译没问题..但我输 e回车d回车c回车b回车a回车

结果是aabcd为什么

哈哈

2006-03-09 06:41
sunnvya
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1094
专家分:0
注 册:2005-11-23
收藏
得分:0 
怎么能输入6个字符?

http://www. 第二站>>>提供源码下载
2006-03-09 07:54
flymouse0216
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-1-18
收藏
得分:0 
为什么不能用strcpy
2007-01-18 14:20
快速回复:找错误 用指向指针的指针的方法对5个字符串排序并输出
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018159 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved