Welcome

首页 / 软件开发 / C语言 / c语言实现字符串逆序

c语言实现字符串逆序2010-10-10面试经常会遇到的题,C语言实现字符串逆序。如输入“abcd”,输出“dcba”。

最近自己整理了一下,下面代码已经过测试。

#define Max 200
main()
{
char str[Max];
printf("请输入字符串:");
gets(str);
int len=0;
char *strlen=str;
char *left=str;
char temp;
while(*strlen++)len++;
strlen-=2;//这里很值得思考
while(left<strlen)
{
temp=*left;
*left++=*strlen;
*strlen--=temp;
}
printf("逆序后的字符串为:");
int i;
for(i=0;i<len;i++)
printf("%c",str[i]);
printf(" ");
system("pause");
}

下面是MS的C库给出的代码:

1.char * __cdecl strrev ( char * string )
2.{
3.char *start = string;
4.char *left = string;
5.char ch;
6.while (*string++) /* find end ofstring */
7.;
8.string -= 2;
9.while (left < string)
10.{
11.ch = *left;
12.*left++ = *string;
13.*string-- = ch;
14.}
15.return(start);
16.}
MS给出的代码比较简洁,写的比俺的要好!