C语言——字符串翻转


一、指针的方式实现

char* strrev(const char* str)

{

   char tnp[strlen(str) + 1];
char *tmp = tnp;

strcpy(tmp,str);


char* ret = tmp;
char* p = tmp + strlen(str) - 1;
while (p > tmp)
{
char t = *tmp;
*tmp = *p;
*p = t;


--p;
++tmp;
}

return ret;
}

二、数组的方式实现

char* reverse(const char* str)

{

      char tnp[strlen(str) + 1];
      char *tmp = tnp;

       strcpy(tmp,str);

 

       for (int i = 0; i

       {

        char c = tmp[i];

        tmp[i] = tmp[len – i - 1];

        tmp[len – i - 1] = c;

       }


       return tmp;

}


你可能感兴趣的:(Linux应用开发)