C语言,判断是否为回文的这个函数我看不懂,求详细解释一下

就是前面那部分程序看不懂。。while if 那里面的看不懂。。那位高手给我详细解释一下,谢谢啊

    char s[M];
int flag = 1; //回文标记,1 代表是回文,0 代表不是回文
int i = 0; //i 代表字符串头部字符序号
int j = strlen(s) - 1; //j 代表字符串尾部字符序号
//strlen(s) 代表字符串的长度
//因为序号是从 0 开始的,所以尾部的序号为 strlen(s) - 1
while (i < j) //条件的意义是,尾部字符的序号 不超过 头部字符的序号
{
if (s[i] != s[j]) //如果头部对应的字符,不等于尾部对应的字符
//因为回文序列是中心对称,所以头部字符和尾部字符对应判断
//是否相同,相同就向字符串的中心渐进判断
//如果出现不相同的就不是回文序列
{
flag = 0; //标记
break; //跳出循环
}
i++; //头部字符的序号向中间靠拢
j--; //尾部字符的序号向中间靠拢
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-01-02
当i<j时,如果第一个数和最后一个数不相等,flag=0.就执行return flag这条语句,flag就会被传递到主函数if中,但是,flag=0是假的不能执行if后面的语句,所以执行else后面的语句。

求解一道c语言判断回文数部分程序 不太懂什么意思
start: 初始值为字串的起始位置 end: 初始值为字串的结束位置,之所以减一,是要去掉最后的字串结束标记。flag:标志,为1为回文。while循环用于判断是否为回文。循环条件是还没判断完所有字符(start<=end),而且,之前一直符合回文的标准。flag=(*start==*end) 用于判断是否回文,头尾不等,说明不符...

用C语言判断字符串是否为回文
1、分析:记start = 0,end = length - 1;在start = end的情况下不断比较并使start++和end--;只要遇到不相等就退出并返回false 2、具体的代码如下,通过使用while循环,如果遇到不相等的对应字符,就立即退出。是回文字符串返回1,不是返回0。输入参数包括了字符串str与它的长度len。3、测试数据...

用C语言如何编写判断一个字符序列是否是回文的函数?
\/\/首先我认为回文不一定是奇数个;也有可能是偶数个;只要这个字符串\\x0d\\x0a\/\/正读跟反读都一样 那它就是回文 所以不应该把字符串的个数当成是判断回文串的\\x0d\\x0a\/\/一个条件。\\x0d\\x0a#include \\x0d\\x0a#include \\x0d\\x0a#include \\x0d\\x0a\\x0d\\x0abool huiWen(const...

C语言怎么判断一个数是否是回文数?
大致思路就是将一个数反着排列一遍,如果和原先的数一样,那么就是回文数。这个排列过程用到了余数和整除。比如986,经过排列后为689,就不是回文数。

用c语言如何实现判断回文?
那就是说前后一一对比都相同,是回文数 ,不等于len\/2说明是由break退出导致,既前边和后边某一位不相同 若输入abbci=0str[0]='a' str[4-1-0]='c' 执行break;跳出for循环循环结束i=0 所以判断不是回文若输入abbai=0str[0]='a' str[4-1-0]='a'i=1str[1]='b' str[4-1-1]=...

C语言 判断给定字符串是否是回文
我猜楼主的想法是:让数组的头和尾比较,一样了,就比较下一对,一直比较到最后,如果i=j,就说明是回文。但是题主却没有用循环语句,按照楼主的程序就能比较两次,比较不完肯定错;而且题主找到的i,并不指向数组最后一个元素,而是指向他的结尾符号。(详情看图)改正意见:1. 使用循环语句,从头...

c语言编程:判定一个字符是否是回文串(回文串是指从开头读和从末尾读...
c语言编程:判定一个字符是否是回文串(回文串是指从开头读和从末尾读均为相同字符的字符串,例如:abcba  我来答 1个回答 #国庆必看# 旅行如何吃玩结合?好学者百科 2022-09-28 · 百度认证:北京惠企网络技术有限公司官方帐号 好学者百科 科技生活门户网站,探索发现百科全书。 向TA提问 关注 展开全部...

求C语言判断一个正整数是否是回文
要判断一个正整数是否为回文数,可以使用以下C语言代码。回文数是指从左向右读与从右向左读都相同的数。定义函数, 输入参数为需要判断的正整数n。函数内部定义变量s为0,m为n。通过while循环,将m的每一位数字依次提取出来,添加到s的末尾。循环条件是m不为0。每次循环中,先将s乘以10,然后将m...

编写函数判断一个数是否是回文数
这个函数通过将数字转换为字符串,并比较字符串与其反转后的字符串是否相等,可以有效地判断一个数是否是回文数。在进行C语言编写程序时,需要注意以下几点:1、编写规范:要遵守C语言的编程规范,如变量命名规范、缩进、注释等。编写规范的代码易于维护和理解,且可以提高代码质量。2、内存管理:C语言中...

C语言 关于判断回文数的程序
1、首先打开vc6.0,新建一个控制台项目,添加头文件。2、然后我们根据图示代码添加main主函数。3、然后我们根据图示代码定义6个long型变量。4、然后我们根据图示代码使用scanf给input赋值。5、然后我们根据图示代码分解个位、百位、千位、万位。6、然后我们根据图示代码使用if判断。7、然后我们根据图示代码...

相似回答