#include <stdio.h>
#include <math.h>
#include <string.h>
int main()
{
char a[1024];
int i, j;
gets(a); //从键盘中输出字符
j = strlen(a) - 1; //将字符串的长度-1之后赋值给j
for (i = 0; i < j; i++, j--) //将字符从两侧开始逐渐对比是否相同
if (a[i] != a[j]) break; //不同则跳出循环
if (a[i] == a[j])
printf("该字符串是回文字符\n"); //若相同则输出
else printf("该字符串不是回文字符\n"); //若不相同则输出
return 0;
}
注释已经很清楚了吧,
从两头往中间比,如果如果不同说明肯定不是回文串,直接break退出循环,此时a[i]!=a[j]输出不是回文字符