[求助]字串逆序输出很意外
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下没输出,程序非法.
这是为什么??我的代码在哪错了?