标题:[求助]那里有问题?
只看楼主
lyhorg
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-4-22
 问题点数:0 回复次数:6 
[求助]那里有问题?
#include "stdio.h"
void choicesort(char **p1,int num)
{char **p2,**temp,**temp2;
for(;p1<p1+num-1;p1++)
{ temp=p1;
for(p2=p1+1;p2<p1+num;p2++)
if(**temp>**p2)temp=p2;
**temp2=**p1;
**p1=**temp;
**temp=**temp2;
}
}
main(){int i;
char *list[]={"boy",
"girl",
"hacker",
"cracker","honker","xbox","blogger","vfp","qiaomu","pragrammer"};
choicesort(list,10);
for(i=0;i<10;i++)
printf("%s",list[i]);
getch();
}//这是一个用指针数组和指向指针的指针的实现的对10个字符串排序,怎么在运行的时候没有结果呢?谢谢
搜索更多相关主题的帖子: include hacker 
2006-04-29 14:47
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
得分:0 

指针乱用,字符串大小不是那么比较的

建议打入死牢~ 回去好好看书


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-04-29 15:07
knight110
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-4-13
得分:0 
这个也太乱了吧,!

2006-04-29 15:14
lyhorg
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-4-22
得分:0 
请指点
2006-04-29 15:24
lj_860603
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:714
专家分:0
注 册:2006-1-25
得分:0 
没关系的.错了自己慢慢先看书琢磨,真不懂再问.

我的原则很简单:不做不喜欢的事!
2006-04-29 15:24
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
得分:0 

楼主,我如果找你程序的错误,至少能找出10处,怕你生气,我就不找了,看样子指针你还不懂,我下面给你写了个数组的,看看吧

#include <stdio.h>
#include <conio.h>
#include <string.h>

const int SIZE = 10;

int main(void)
{
void Sort(char stra[][SIZE]);

char stra[SIZE][SIZE] = {"fan", "song", "zhang", "zhao", "wang",
"li", "yin", "shu", "tian", "wei"};
int ia, ipass;

Sort(stra);

for (ia = 0; ia < SIZE; ia++)
{
printf("%s\n", stra[ia]);
}

getch();
return 0;
}

void Sort(char stra[][SIZE])
{
int ib, ipass;
char strb[10];

for (ipass = 1; ipass < SIZE; ipass++)
{
for (ib = 0; ib < SIZE - 1; ib++)
{
if (strcmp(stra[ib], stra[ib + 1]) > 0)
{
strcpy(strb, stra[ib]);
strcpy(stra[ib], stra[ib + 1]);
strcpy(stra[ib + 1], strb);
}
}
}
}












日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-04-29 15:36
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
得分:0 

#include <stdio.h>
#include <conio.h>
#include <string.h>

const int SIZE = 10;

int main(void)
{
void Sort(char *stra[]);

char *stra[SIZE] = {"fan", "song", "zhang", "zhao", "wang",
"li", "yin", "shu", "tian", "wei"};
int ia, ipass;

Sort(stra);

for (ia = 0; ia < SIZE; ia++)
{
printf("%s\n", stra[ia]);
}

getch();
return 0;
}

void Sort(char *stra[])
{
int ib, ipass;
char *strb;

for (ipass = 1; ipass < SIZE; ipass++)
{
for (ib = 0; ib < SIZE - 1; ib++)
{
if (strcmp(*(stra + ib), *(stra + ib + 1)) > 0)
{
strb = *(stra + ib);
*(stra + ib) = *(stra + ib + 1);
*(stra + ib + 1) = strb;
}
}
}
}












日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-04-29 15:45



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




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

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