C语言判断回文字符串代码及解析

输入一个字符串,判断其是否为回文。

所谓回文字符串,是指从左到右读和从右到左读完全相同的字符串。

主要涉及知识点:字符数组的输入输出,及相应的处理。

这个问题,可以从字符串的两头开始比较,即第1个字符和倒数第1个字符比较,第2个字符和倒数第2个字符比较,以此类推...如果出现字符不相等的情况,说明不是回文,如果全部相等,说明是回文。

代码如下:

#include <stdio.h>
#include <string.h>
#include <string.h>
void main(){
    char s[100];  // 存放输入的字符串
    int i, j, n;
    printf("输入字符串:");
    gets(s);
   
    n=strlen(s);
    for(i=0,j=n-1;i<j;i++,j--)
        if(s[i]!=s[j]) break;
        if(i>=j)
            printf("是回文串\n");
        else
            printf("不是回文串\n");
}

运行结果:

[linuxidc@localhost linuxidc.com]$ ./linuxidc.com
输入字符串:abcdedcba
是回文串

[linuxidc@localhost linuxidc.com]$ ./linuxidc.com
输入字符串:
不是回文串

C语言判断回文字符串代码及解析

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/053862283df804f9d9159fb0982c7161.html