字符串互换问题

simplecao2012 2012-02-15 09:44:35

void main()
{
char *name[]={"az","bzz","gv","vf"};
int n=4;
void mintomax(char *p[],int a);
void output(char *p[],int a);
mintomax(name,n);
output(name,n);
system("pause");
}

void mintomax(char *p[],int a)
{
void trans(char *p[]);
int i,j;
char *temp;
for(j=0;j<a-2;j++)
for(i=j;i<a-1;i++)
if(strcmp(p[i],p[i+1])>0) trans(p[i],p[i+1]);
/* {
temp=p[i];p[i]=p[i+1];p[i+1]=temp;
}*/ //用这个就OK。
}

void trans(char *x,char *y) //我用这个函数数据调换为什么不行?
{
char *temp;
temp=x;
x=y;
y=temp;
}

void output(char *p[],int a)
{
int i;
for(i=0;i<a;i++)
cout<<p[i]<<" ";
cout<<endl;
}
...全文
68 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
taoyh2002 2012-02-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 taoyh2002 的回复:]
改成

C/C++ code


void trans(char *x,char *y) //我用这个函数数据调换为什么不行?
{
char *temp;
*temp=*x;
*x=*y;
*y=*temp;
}
[/Quote]
有点错,应该这么改:
void trans(char **x,char **y) //我用这个函数数据调换为什么不行?
{
char *temp;
temp=*x;
*x=*y;
*y=temp;
}
simplecao2012 2012-02-15
  • 打赏
  • 举报
回复
我去,突然又行了 就2L一样。。。
simplecao2012 2012-02-15
  • 打赏
  • 举报
回复
想用trans来互换一下p[i] 跟p[i+1]的内容而已
taoyh2002 2012-02-15
  • 打赏
  • 举报
回复
改成

void trans(char *x,char *y) //我用这个函数数据调换为什么不行?
{
char *temp;
*temp=*x;
*x=*y;
*y=*temp;
}


sagegz 2012-02-15
  • 打赏
  • 举报
回复
你用调用trans类型匹配?

64,636

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧