您的位置:首页 > 编程语言 > C语言/C++

用C语言指针编写判断是否为回文字符串的程序

2020-03-05 12:25 901 查看

用C语言指针编写判断是否为回文字符串的程序

前言
刚学C语言的时候遇到了这个题目,当时思维混乱,代码写地非常不简洁。学了指针后偶然又看到,脑袋一闪又想出了一个自己认为很简洁的代码。此后每当想起总感觉自己忘记了一些细节,弄得自己很纠结。为了使自己不忘记这个令自己愉快的代码,就决定把它作为自的第一篇博客发表了。

源代码

#include <stdio.h>
#include <string.h>
int main(){
char a[100];
gets(a);
char *p1=a,*p2=a+strlen(a)-1; //将p2指向最后一个字符
while(p2-p1>=1){		      //设置遍历需满足的条件:如果p1、p2位置重合或者p2跳到p1前面就结束遍历
if(*p1!=*p2){             //只要有一次不相等就结束遍历,打印“NO”,并return 0结束程序
printf("NO");
return 0;
}
p1++;					  //p1向后移动
p2--;                     //p2向前移动
}
printf("YES");                //前面没有遇到不相等的情况直接打印“YES”
return 0;
}

后记

本人菜鸡一个,C语言学了一个学期就学了些皮毛,有不对之处还请指教

  • 点赞
  • 收藏
  • 分享
  • 文章举报
在学IT的宝亮 发布了10 篇原创文章 · 获赞 3 · 访问量 251 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐