c语言回文判断

【回文判断,若是返回1,不是返回0。】
int hw(char a[]) //数组法
{ int i,j,flag;
for(j=0;a[j]!= '\0';j++);
flag=1;
for(i=0;i<j;i++,j--)
if (a[i]!=a[j-1]) { flag=0; break; }
return flag;
}
这段代码有大佬能解释下吗

int hw(char a[]) //数组法
{ int i,j,flag;
for(j=0;a[j]!= '\0';j++);        //找到串尾符(a[j]=='\0')
flag=1;                    //flag初始化为1
for(i=0;i<j;i++,j--)       //a[i]与a[j-1]未碰头时循环
if (a[i]!=a[j-1]) { flag=0; break; } //如遇到字符不等,就不是“回文”,flag做标记
return flag;        //返回标记的结果
}

追问

flag=1是循环体吗

追答

flag=1不是循环体。

上一个循环已经结束,下一个循环尚未开始。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-12-18
int len = strlen(a)-1;
int i=0,j=len;
while(i<j){
if(a[i]!=a[j]){
return false;
}
i++,j++;
}
return true;追答

有错的地方,自己改吧

第2个回答  2018-12-18

本回答被提问者采纳
相似回答