使用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;
}