
2个回答
展开全部
/*必须把huiwen函数放在main函数前边,否则会出现编译错误。因为程序只能向前查找函数*/
char huiwen (char *s) {
int i = 0, j;
while (s[i] != 0) {
i++;
}
if (i & 1) { /*判断i的奇偶性,就是判断i的最后一个二进制位是否为0*/
for (j = 0; j < (i - 1) / 2; j++) { /*循环次数问题*/
if (s[j] != s[i - j - 1]) break;
}
/*循环后再判断*/
return (j == (i - 1) / 2) ? 'Y' : 'N'; /*字符常量加单引号*/
} else {
for (j = 0; j < i / 2; j++) { /*循环次数问题*/
if (s[j] != s[i - j - 1]) break;
}
/*循环后再判断*/
return (j == i / 2) ? 'Y' : 'N'; /*字符常量加单引号*/
}
}
main () {
char s[1000];
scanf ("%[^\n]", s); /*%s不能接收空格*/
printf ("%c\n", huiwen (s));
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询