标题:[求助]字串逆序输出很意外
取消只看楼主
freeforever
Rank: 4
等 级:业余侠客
威 望:3
帖 子:368
专家分:201
注 册:2005-11-2
结帖率:66.67%
 问题点数:0 回复次数:2 
[求助]字串逆序输出很意外
main()
{
char a[]="afjkdlsa",b[80];
printf("%s",unstr(a));
getch();
}

//交换字符
int swapch(char *x,char *y)
{
char tmp;
tmp=*x;*x=*y;*y=tmp;
}

//字串逆序
int unstr(char *str)
{
int i,lenth;char tmp;
lenth=strlen(str);
for(i=0;i<lenth/2;++i)
{
tmp=*(str+i);
*(str+i)=*(str+lenth-i-1);
*(str+lenth-i-1)=tmp;
}
}

//字串长度
int strlen(char *str)
{
int len=0;
while(*(str+len)!='\0')++len;
return len;
}

在win-tc下输出 Turbo-C - Copyright (c) 1988 Borland Intl.
在C-Free3.5下没输出,程序非法.
这是为什么??我的代码在哪错了?
搜索更多相关主题的帖子: 字串逆序 str tmp char int 
2005-11-17 14:45
freeforever
Rank: 4
等 级:业余侠客
威 望:3
帖 子:368
专家分:201
注 册:2005-11-2
得分:0 
以下是引用baidu在2005-11-17 15:41:00的发言:
有些东西自己领会才会有趣

int unstr(char *str)
{
int i,lenth;char tmp;
lenth=strlen(str);
for(i=0;i<lenth/2;++i)
{
tmp=*(str+i);
*(str+i)=*(str+lenth-i-1);
*(str+lenth-i-1)=tmp;
}
return str;
}

不明白为什么要返回这个地址,我写的其它几个字串函数没红的那行也行,请版主讲讲吧


其实我也很无聊!
2005-11-17 19:49
freeforever
Rank: 4
等 级:业余侠客
威 望:3
帖 子:368
专家分:201
注 册:2005-11-2
得分:0 
谢谢版主,我先看书去

其实我也很无聊!
2005-11-17 21:56



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




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

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