c语言判断一个字符串是否是回文,并输出判断结果,这到题的代码怎么理解?

2024-11-16 14:40:18
推荐回答(2个)
回答(1):

#include

int main()
{
char s[81];
int n=0,i,k;
printf("please input: \n");
gets(s);
while(s[n++]!='\0');  //获取字符串长度:n-1
n=n-1;  //长度
printf("字符数量为:%个\n",n);
k=n/2;  //字符串的中间位置保存在k中
for(i=0;i {  //再对比第二位和倒数第二位,以此类推 
if(s[i]!=s[n-1-i]) break;   //只要任意一对不满足都不是回文数,不用再继续 
}
if(i==k) printf("yes\n");    //如果i==k,说明已经比较到最中间位置,也就表示是回文
else printf("no\n");
return 0;
}

回答(2):