1、问题
//如果参数字符串是个回文,函数就返回真,否则返回假。回文就是指一个字符串从左向右和从右向左读是一样的。函数应该忽略所有的非字母字符,而且在进行字符比较时不用区分大小写。
2、代码实现
#include <stdio.h>
#include <ctype.h>
//如果参数字符串是个回文,函数就返回真,否则返回假。回文就是指一个字符串从左向右和从右向左读是一样的。函数应该忽略所有的非字母字符,而且在进行字符比较时不用区分大小写。
int palindrome(char *string)
{
if (string == NULL)
return 0;
char *start = string;
char *end = string;
//把end指向'\0',然后退以下,这里不要写成while (*end++ != '\0');
//不然需要--end两次
while (*end != '\0')
{
++end;
}
//尾巴指针退到字符串末尾
--end;
while (start < end)
{
//这里不能用if,if只能移动一个非字符的下标,如果非字符