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;
}
【C语言——字符串翻转】

return tmp;
}

    推荐阅读