用于反转字符串的最短C代码

时间:2010-08-20 08:49:55

标签: c string reverse

不计算函数签名(只是正文)任何人都可以产生比这个函数更短的C代码,它会反转字符串并将结果作为指向反向字符串的指针返回..(不使用字符串反向库函数) ?

char * reverse_str(char * s)
{
   char c,*f=s,*p=s;while(*p)p++;while(--p>s){c=*p;*p=*s;*s++=c;}return f;
}

1 个答案:

答案 0 :(得分:2)

不会太久,但它确实有效。

#include <string.h>

/* precondition: s!=const && s!=NULL && *s!='\0' */
char *mystrrev(char *s)
{
  char *a=s,*e=s+strlen(s)-1;
  while( a<e )
  {
    char c=*a;
    *a++=*e;
    *e--=c;
  }
  return s;
}