回文:就是第一个字符与最后一个字符相等,第二个字符与倒数第二个相等,以此类推,直到中间的字符。以下讲解两种方式:
方法一:
int fun(char *str)
{
int i, j;
for (i = strlen(str); i ; i--) { //获取字符串的长度大小
for (j = 0; j < i - 1; j++) { //遍历字符串,从0开始,则最后一位-1
if (str[j] == str[i-1-j])
return str;
else return 0;
}
}
}
方法二:
int fun(char *str)
{
int i, n = 0, fg = 1;
char *p = str;
while (*p)/*将指针p置位到字符串末尾,并统一字符数*/
{
n++;
p++;
}
for (i = 0; i < n / 2; i++) /*循环比较字符*/
if (str[i] == str[n - 1 - i]);/*相同,什么都不做*/
else /*不同,直接跳出循环*/ {
fg = 0;
break;
}
return fg;
}
以上两种方法都可以,读者可以选择使用。