C语言判断回⽂字符串

使用C语言判断这个字符串是否是回⽂字符串(字符串的长度小于等于30,字符串不包含空格),如果是回文字符串输出Yes,如果不是回⽂字符串输出No。

回文串:是一个正读和反读都一样的字符串

方法:1.使用两个指针分别放置在字符串的头和尾,进行比较,如果相同,则头++,尾--.不同则结束判断

2.需要进行多次判断,使用循环.判断条件,当头尾相逢时,即证明比较都相同.

代码如下:

c 复制代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int IsPalindromeString(char arr[])
{
	//1.获取字符串长度
	int len = strlen(arr);
	//2.创建头尾指针
	char* left = arr;
	char* right = arr + len - 1;
	//3.循环判断
	while (left < right)
	{
		if (*left != *right)
		{
			return 0;
		}
		left++;
		right--;
	}
	//4.进行该语句证明循环停止,为回文结构
	return 1;
}
int main()
{
	char arr[32];
	scanf("%s",arr);
	int ret = IsPalindromeString(arr);
	if (ret == 1) 
	{
		printf("YES\n");
	}
	else
	{
		printf("NO\n");
	}
	return 0;
}
相关推荐
Tisfy3 分钟前
LeetCode 1727.重新排列后的最大子矩阵:枚举矩形底边是哪一行 + 排序
算法·leetcode·矩阵
Via_Neo8 分钟前
日期问题和日期常用API
数据结构·算法
_饭团24 分钟前
指针核心知识:5篇系统梳理2
c语言·笔记·学习·leetcode·面试·改行学it
罗湖老棍子25 分钟前
Maximum Subarray Sum II最大连续区间和(CSES- P1644)
算法·滑动窗口·单调队列
小年糕是糕手1 小时前
【C++】string类(三)
开发语言·数据结构·c++·程序人生·算法
西装没钱买1 小时前
C语言组播的使用
c语言·开发语言·udp·组播·组播绑定网卡
胖祥1 小时前
onnx之NodeComputeInfo
开发语言·c++·算法
无限空间之王1 小时前
我让三个 AI 互相竞争进化,两天后它们发明了一个我看不懂的算法
算法
sinat_255487811 小时前
为 System.out 编写我们自己的包装类
java·开发语言·算法
阿Y加油吧1 小时前
力扣打卡——盛最多水的容器、三数之和
算法·leetcode·排序算法