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

如题所述

#include<stdio.h>

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<k;i++)     //从第一位跟最后一位开始对比 
{  //再对比第二位和倒数第二位,以此类推 
if(s[i]!=s[n-1-i]) break;   //只要任意一对不满足都不是回文数,不用再继续 
}
if(i==k) printf("yes\n");    //如果i==k,说明已经比较到最中间位置,也就表示是回文
else printf("no\n");
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-29

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网