标题:[求助]利用指针对字符串排序问题
只看楼主
changyi5757
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2005-7-31
 问题点数:0 回复次数:1 
[求助]利用指针对字符串排序问题

请问我的程序为什么错了? #define N 5 #define M 10 main() { char a[N][M],sort(); int i; for(i=0;i<N;i++) scanf("%s",a+i); sort(a); for(i=0;i<N;i++) printf("%s\n",a+i); }

char sort(char a[N][M]) {int i,j; char *p,*q,temp[M]; p=a;q=a+1; for(i=0;i<N;i++) for(j=1;j<5-i;j++) { if(strcmp(*p,*q)>0) { temp=*p; strcpy(*p,*q); strcpy(*q,temp); } p++;q++; } }



搜索更多相关主题的帖子: 字符 sort char temp int 
2005-08-19 12:09
changyi5757
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2005-7-31
得分:0 

上面的程序输错了 #define N 5 #define M 10 main() { char a[N][M],sort(); int i; for(i=0;i<N;i++) scanf("%s",a+i); sort(a); for(i=0;i<N;i++) printf("%s\n",a+i); }

char sort(char a[N][M]) {int i,j;

char *temp[M],*p,*q; for(i=0;i<N;i++) {p=a;q=a+1; for(j=1;j<5-i;j++) { if(strcmp(*p,*q)>0) { strcpy(temp,*p); strcpy(*p,*q); strcpy(*q,temp); } p++;q++; } } }

我用的是冒泡排序,请问为什么不能交换数据 

2005-08-19 12:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-25545-1-1.html




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

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