字符串翻转

来源:互联网 发布:mysql bit类型 编辑:程序博客网 时间:2024/04/27 20:34

const char *reverse(char *str)
 {
  if(str == NULL)
   return NULL;
  int  nCount = 0;           // 用来统计字符串的大小
  const char *pRemark_begin;       // 标记字符串的首地址
  char chTemp;               // 用于交换字符串的临时变量
  char *pString_begin;       // 存储交换的头指针
  char *pString_end;         // 存储交换的尾指针

  pString_begin = str;
  pRemark_begin = str;

  while(*str != 0)        // 寻找字符串的结尾
  {
   str++;
   nCount++;
  }
  pString_end = --str;       // 退回一个才是字符串的末尾
  nCount = nCount/2;

  while(nCount>0)        // 将字符串翻转
  {
   chTemp = *pString_begin;
   *pString_begin = *pString_end;
   *pString_end = chTemp;
   pString_begin++;
   pString_end--;
   nCount--;
  }
  return pRemark_begin;
}


int main()
 {
  const char *pch;       // 用于取得函数的返回值,来输出翻转后的结果
  char chArray[] = " Hello World ! ";   // 存储一个将要翻转的字符串
  pch = reverse(chArray);     // 将字符串chArray翻转
  printf("%s/n",pch);         // 打印字符串chArray
  return 0;
 }