用指针的方法可以判断字符串是否是回文(如“abccba”,“ 123321”是回文),可以函数调用来实现。定义两个指针p1和p2,p1记录字符串第1个字符的地址,p2记录字符串最后1个字符的地址。具体的源程序如下:
#include <stdio.h>
#include <string.h>
int hw (char s[10])
{
char *p1;
char *p2;
p1 = s;
p2 = s + strlen(s) - 1;
while (p1 < p2)
{
if (*p1 == *p2)
{
p1++;
p2--;
}
else
{
break;
}
if (p1 > p2)
{
return 0;
}
else
{
return 1;
}
}
}
int main()
{
char str[10];
printf ("输入一个字符串:");
scanf ("%s",str);
if (hw(str) == 1)
{
printf ("字符串 %s 是回文\n",str);
}
else
{
printf ("字符串 %s 不是回文\n",str);
}
return 0;
}