求大神帮忙这题为什么答案错误?
回文串是从左到右或者从右到左读起来都一样的字符串,试编程判别一个字符串是否为回文串。输入
输入一个字符串。串长度<255.
输出
判别输入的字符串是否为回文串,是输出"Y",否则输出"N"。
样例输入
abcba
样例输出
Y
#include<stdio.h>
#include<string.h>
int main()
{
char str[255];
char *p,*q;
int n=0,len;
len=strlen(str);
gets(str);
p=str;
q=p;
while(*p!='\0')
{
p++;
}
p--;
if(*p!=*q)
{
printf("N\n");
}
while(*p==*q)
{
q++;
p--;
n++;
if(*p!=*q)
{
printf("N\n");
break;
}
if(n>=(len-1)/2)
{
printf("Y\n");
break;
}
}
return 0;
}