c++用指针使字符串变回文

c++中使用指针实现将一个字符串构造成一个回文。回文:正向拼写和反向拼写一样例madam。


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    char a[100];
    char* p = a;
    gets_s(a);
    int len = strlen(p);
    int slen = len-1;
    if (len%2!=0)
    {
        len = (len - 1) * 2 + 1;
    }
    else
    {
        len = len * 2;
    }
    char* s=(char *)malloc(sizeof(char)*len);
    int i = 0;
    while (i<=slen)
    {
        char t;
        t = *p;
        s[i] = t;
        s[len - i-1] = t;
        p++;
        i++;
    }
    s[len]='\0';
    printf("%s", s);
}