编写函数,判断输入的字符串是否为“回文”,并在 main()函数中调用。函数形式为: int palindrome(char *s); /*是回文,返回值为 1,否则返回 0*/

提示:先求出字符串的长度len,然后通过循环判断字符串的对称位置的字符 是否相等,只要有一个不等,则结束判断,可以判定为非回文。如果全部相等, 则为回文。可以定义两个变量 i 和 j,分别指向字符串的开始和末尾,然后没判 断一次,移动一次(i++,j--)。

#include <stdio.h>
#include <string.h>

int palindrome(const char *s)
{
    int len = strlen(s);
    const char *p = s + len - 1;
    while (s < p) {
        if (*s != *p)
            return 0;
        s++;
        p--;
    }
    return 1;
}

int main()
{
    char s[100];
    scanf("%s", s);
    printf("%d", palindrome(s));
    return 0;
}