Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1408370
  • 博文数量: 143
  • 博客积分: 10005
  • 博客等级: 上将
  • 技术积分: 1535
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-23 17:25
个人简介

淡泊明志 宁静致远

文章分类

全部博文(143)

文章存档

2011年(2)

2009年(1)

2007年(22)

2006年(118)

我的朋友

分类: C/C++

2006-11-06 08:50:23

题目:请编写一个 C 函数,该函数将一个字符串逆序。

char * StrReverse(char * ch)
{
 char tempch,* tch;
 int Len,i;
 tch = ch;
 printf("\n");
 Len = strlen(ch);
 printf("Len = %d\n",Len);
 for(i=0;i {
  tempch = *tch;
  *tch = *(tch + Len - 2*i - 1);
  *(tch+Len-2*i-1) = tempch;
  tch++;
 }
 return ch;
}
main()
{
 puts(StrReverse("123456"));
 system("pause");

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

char * __cdecl strrev ( char * string )
{
    char *start = string;
    char *left = string;
    char ch;
    while (*string++) /* find end of  string */
        ;
    string -= 2;
    while (left < string)
    {
        ch = *left;
        *left++ = *string;
        *string-- = ch;
    }
    return(start);
}
MS给出的代码比较简洁,写的比俺的要好!
阅读(3367) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

yiersan7292008-06-06 17:26:53

MS的代码,看起来就是不一样~~