用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语言学了一个学期就学了些皮毛,有不对之处还请指教
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 用C语言编写程序,判断输入的一个字符串是否是回数
- 编写程序,判断输入的字符串是否回文
- C语言 编写一个c程序判断回文字符串。
- 编写一个Java应用程序。用户从键盘输入一个1—9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都
- 作业 4 函数应用 编写一个程序,判断从键盘接收的数字是否为回文数字。回文数字就是顺着看和倒着看是相同的数。如121、656、2332等
- 2. 编写一个Java应用程序,用户从键盘输入一个1~9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、32
- Java 写一个方法判断一个字符串是否对称 "asdfgasdfg"、编写一个程序,将下面的一段文本中的各个单词的字母顺序翻转,
- 【C语言】判断一个数是否为回文字符串
- 编写函数,判断一个字符串是否是回文
- 利用字符串指针编写以程序求所有不超过200的N值,N的平方是具有对称性的回文数
- 判断字符串是否为回文(C语言 顺序栈)
- 【C语言判断是否是回文字符串
- C语言:判断输入的一个字符串是否是“回文”。
- C#--第2周实验--任务7--编写一个控制台应用--判断S所指的字符串是否回文(即顺读和逆读相同的字符串)
- C语言:判断一个字符串是否为回问字符串(回文字符串也是一个字符串,但是原字符串和字符串逆序之后一样,比如”abcba","cddc"就是回文字符串
- 【C语言】判断一个字符串是否为回文字符串。
- C#编写程序判断给定的表达式字符串中的括号是否正确匹配(成对出现)
- 【C语言】判断字符串是否是回文
- 是否回文的判断(c语言,初级接触指针)
- 编写函数,判断一个字符串是否是回文